{% github git-lfs git-lfs 45c4568 width = 30% %} git-lfs官网 LFS其实是git的一个扩展,并没有改变git的工作方式,有点像耍了个小花招,把指定需要lfs管理的文件替换成了一个指针文件交给git进行版本管理; 在pull/push等这些操作中,lfs又通过lfs服务器把这些文件的真身给下载或上传回来; 通过这样的手段,使得本地仓库的体积大大减小,而不会出现随着这些文件的版本增多而体积剧烈膨胀的情况; 个人觉得这种把存储负担转移给了服务器的做法,是不是有违git去中心化的理念,毕竟lfs这样做其实算是强依赖于这个lfs服务器了,本地仓库并不是一个完整的仓库

安装

1
brew install git-lfs

配置git库支持git-lfs

  1. Git命令行扩展工具git-lfs,您只需设置一次Git LFS
1
2
3
4
#设置库支持
git lfs install
#删除库支持
git lfs uninstall

当使用gitee时,push远程库:WARNING: Authentication error: Authentication required: not a enterprise project

  1. 配置.gitattribute文件,添加需要Git LFS管理的文件类型。也可track命令添加其他类型
1
2
3
4
5
6
# 添加
git lfs track "*.psd"
# 查看规则
git lfs track
# 查看跟踪的文件清单
git lfs ls-files
  1. 确保跟踪.gitattributes
1
git add .gitattributes
  1. 像往常一样提交并推送到GitHub。
1
2
3
git add file.psd
git commit -m "Add design file"
git push origin master