我在让Git LFS正确跟踪我的大文件时遇到问题(此处报告类似问题:Git LFS refused to track my large files properly, until I did the following)。
在我的具体情况下,我试图推送一个由多个子目录组成的目录,每个子目录都有我想跟踪的特定类型的文件。这些文件类型的扩展名为.bed
,.Bed
和.sorted
。这是我遵循的食谱:
我做了git add .
,然后是git commit -m "initial commit"
,然后发出了相应的跟踪命令(例如git lfs track ".bed"
),然后做了git push origin master
。
但是,我仍然收到以" this exceeds GitHub's file size limit of 100.00 MB
"结尾的多个错误命令。我已经完成了关于这个主题的几乎所有可用的Stack Overflow帖子(例如......,git lfs not working properly for files larger than 100MB),所以任何建议都会非常感激。
答案 0 :(得分:0)
根据这些instructions,您首先需要跟踪,然后您可以添加和提交。我按照类似的bitbucket指令运行了。
当您在 track 之前添加和 commit 时,您可能正在提交您的仓库而不是lfs仓库。
答案 1 :(得分:-1)
我确实遇到了同样的问题。后来我意识到大文件确实是通过lfs上浮的,就像显示的“ .... skipped ...”一样。但是大文件仍然存在于git commit历史记录中。
我的解决方法是使用git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <file/dir>' HEAD
(注意,您需要用大文件的文件名替换)。这将过滤历史记录中的大文件记录。之后,我可以git push origin master
,再也没有错误。