Git LFS 简介
GitCode 已支持 Git LFS 功能,该功能免费开放。
Git LFS(Large File Storage,大文件存储)是 Github 开发的一个Git 的扩展,用于实现 Git 对大文件的支持。
使用目的
不同于git每次保存diff,对于git来说,如果是模型或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积,不一会就能几个G。
Git LFS 可以把音乐、图片、视频等指定的任意大文件资源存储在Git仓库之外,减小Git仓库本身的体积,使克隆Git仓库的速度加快,也使得Git不会因为仓库中充满大文件而损失性能。
Git LFS 下载和安装
注意:安装 Git LFS 需要 Git 的版本不低于 1.8.5
Git LFS 官网: https://git-lfs.github.com/
GitCode mirror 过来Git LFS的地址:https://codechina.csdn.net/mirrors/git-lfs/git-lfs
Linux 系统
$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
$ sudo apt-get install git-lfs
$ git lfs install
运行
git lfs install
,如果显示Git LFS initialized说明安装成功
MacOS 系统
1.安装HomeBrew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安装 Git LFS
$ brew install git-lfs
$ git lfs install
Windows 系统
- 下载安装程序 windows installer
- 运行 windows installer
- 在命令行执行
git lfs install
配置
配置我们要与Git LFS关联的文件类型,此信息将添加到.gitattributes 存储库中的 文件中。
将文件类型与Git LFS关联的最简单方法是通过 git lfs track
命令。
如将所有 jpg 文件管理到Git LFS:
$ git lfs track "*.png"
该 .gitattributes
文件已创建,并包含以下信息:
*.jpg filter=lfs diff=lfs merge=lfs -text
完美!从现在开始,LFS将处理此文件。现在,我们可以按照以前的方式将其添加到存储库中。注意,对其他任何更改.gitattributes
也必须提交到存储库,就像其它修改一样:
$ git add .gitattributes
$ git add design-resources/design.psd
$ git commit -m "Add design file"
常用 Git LFS 命令
查看 git lfs 当前正在跟踪的所有模式的列表
$ git lfs track
查看 git lfs 当前跟踪的文件列表
$ git lfs ls-files
取消跟踪并从LFS 删除文件
从lfs取消跟踪特定类型的所有文件,并将其从缓存中删除:
$ git lfs untrack "*file-type"
$ git rm --cached "*file-type"
如果要将这些文件重新添加到常规git跟踪中并提交,可以执行以下操作:
$ git add "*file-type"
$ git commit -m "restore "*file-type" to git from lfs"
感谢 @BaiXuePrincess 贡献的关于 Git-LFS 的帮助文档