Git LFS不工作
我在让Git LFS正确跟踪我的大文件时遇到问题(这里报告了类似的问题:) 在我的具体案例中,我尝试推送一个由多个子目录组成的目录,每个子目录都有我想要跟踪的特定类型的文件。这些文件类型的扩展名是Git LFS不工作,git,github,git-lfs,Git,Github,Git Lfs,我在让Git LFS正确跟踪我的大文件时遇到问题(这里报告了类似的问题:) 在我的具体案例中,我尝试推送一个由多个子目录组成的目录,每个子目录都有我想要跟踪的特定类型的文件。这些文件类型的扩展名是.bed、.bed和.sorted。以下是我遵循的食谱: 我做了git add.,然后git commit-m“initial commit”,然后发出相应的跟踪命令(例如,git lfs track.bed“),然后做了git push origin master 但是,我仍然收到多个错误命令,以“这
.bed
、.bed
和.sorted
。以下是我遵循的食谱:
我做了git add.
,然后git commit-m“initial commit”
,然后发出相应的跟踪命令(例如,git lfs track.bed“
),然后做了git push origin master
但是,我仍然收到多个错误命令,以“这超过了GitHub的文件大小限制100.00 MB
”结尾。我已经阅读了关于这个主题的几乎所有可用的堆栈溢出帖子(例如…),所以任何建议都将不胜感激 基于这些,首先需要跟踪,然后可以添加和提交。我对bitbucket遵循了类似的说明,它也起了作用
当您在跟踪之前添加并提交时,您可能是在回购中提交,而不是在lfs回购中提交。我确实遇到了同样的问题。我后来意识到,大文件确实是通过lfs上传的,就像“跳过…”一样。但是大文件仍然存在于git提交历史中。
我是如何解决这个问题的:使用
git filter分支--index filter'git rm-r--cached--ignore unmatch'HEAD
(注意,您需要替换为大文件的文件名)。这将过滤历史记录中的大文件记录。在此之后,我可以git推送原始主机
,不再出错 在再次添加之前,是否已从树中删除该文件?您可以使用git rm--cached filename来实现这一点。然后继续进行git add file.bed和git commit。我完美地遵循了Github的说明,然后当时间到了git push origin master
,我收到:git LFS:(671个文件中的0个,跳过了100个)0b/8.88gb,跳过了2.84gb
,然后是U
(不管这意味着什么!),然后是一行重复的Git LFS:(671个文件中的0个,跳过100个)0b/8.88gb,跳过2.84gb
。程序挂断了。就像什么都没发生一样,所以我不得不按ctrl-c键来突破。请注意,我确实成功地从git lfs ls文件中获得了输出,因此我将问题缩小到了最后一步。可能有什么问题?我做了一些测试,它在这里工作,但只有小于100MB的文件。我无法复制被跳过的文件。但是,您描述的错误与100MB限制有关。它说100MB是硬限制,在这种情况下不允许推送。您是否尝试过推送较小的文件?但这不是Git LFS的要点吗,即推送大于100MB的文件(通过指针)?