如何将文件从常规git跟踪移至大型文件服务器?

时间:2018-10-01 21:18:49

标签: git git-lfs

我的文件超过了GitHub企业版100MB的上限。

它是在安装lfs支持之前添加到资源库中的。

然后我将其添加到git lfs并告诉它进行跟踪。

matt@ORAC:~/dev$ git lfs ls-files
83274a0d67 * extern/cudnn/bin/libcudnn.so.7.2.1

但是,当我按时仍然出现此错误。

remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: File extern/cudnn/bin/libcudnn.so.7.2.1 is 274.67 MB; this exceeds GitHub Enterprise's file size limit of 100.00 MB

我该如何解决?

2 个答案:

答案 0 :(得分:2)

尝试git add .gitattributes

如果这不起作用,请尝试

git stash git reset HEAD~ # Or HEAD~X to go back X commits to a point where the file didn't exist git stash pop git add . git add .gitattributes git commit -m "Msg" git push

答案 1 :(得分:0)

如果您在启用git lfs之前签入了许多不同的大文件,那么我所看到的最优雅的方法是根据git-lfs Official tutorial迁移git repo。迁移的唯一不好的部分是将重写存储库的提交历史记录,但是最大的好处是,由于大文件已从历史记录中完全删除并移至lfs服务器,因此该存储库将比原始存储库小得多。

另一篇文章建议git reset返回到您在大文件中签入的先前提交,如果您有一个小仓库,并且清楚地知道那些大文件在哪里提交,那么该黑客就可以工作。但是,它不应该是大型仓库的可扩展解决方案。