正常情况下,git在提交100M以上文件的时候会报错,但是当我们将已经存在的项目推到远端时很可能就会遇到大文件无法push的问题,那么下面提供一个git提交大文件的方法。
使用开源的 Git Large File Storage (LFS) . 使用方法:
- 使用Homebrew安装lfs
brew isntall git-lfs
- 在项目目录中安装 lfs
git lfs install
- 指定你想让lfs管理的文件类型,你可以在任意时刻添加类型, 以pdf文件为例
git lfs track "*.pdf"
- 确认 .gitattributes文件被追踪
git add .gitattributes
- 经过以上四步配置已经完成, 可以像正常使用git一样来提交被lfs管理的大文件了(超过100M)
解决git push时发现有超过100M的文件时无法同步到远端,然后在本地删除文件后,发现还是提交不上去的问题
超过100M的文件不论是手动删除本地文件, 还是通过 git rm -f xxx.xx
的方式都无法提交,最暴力的方式如下:
- 删除自己原来项目中的
.git
(.git文件是隐藏文件,需要打开文件夹的显示隐藏文件属性)的文件. - 重新clone远程项目到本地其他目录.
- 把新clone下来的文件中的
.git
copy到自己原项目的文件中.
此法可行的原因:
超过100M文件没有提交成功, 所以远程仓库的 .git文件中没有此大文件的缓存. 最后注意点, 你在之前提交过后的操作也都没有缓存,所以都需要重新` add commit push `.