2015-04-02 130 views
0

我想更新GitHub上的私人存储库,但是一个大文件阻止我这样做。 GitHub警告我文件太大:撤消Git提交由于大文件

增量压缩使用多达2个线程。

Compressing objects: 100% (18/18), done. 
Writing objects: 100% (22/22), 8.69 MiB | 3 KiB/s, done. 
Total 22 (delta 11), reused 0 (delta 0) 
remote: error: GH001: Large files detected. 
remote: error: Trace: 0c940595507e24d7d2765083a99bdae8 
remote: error: See http://git.io/iEPt8g for more information. 
remote: error: File logs/log.dat is 101.98 MB; this exceeds GitHub's file size limit of 100 MB 

然后我清除了文件内容并重新提交。但是,我仍然遇到同样的错误。我也试过以下无济于事:

git reset HEAD~1 

git rm --cached logs/log.dat 

谁能帮助?

注:我已经尝试过发布此问题之前列出的解决方案。当他们似乎没有工作时,我寻求帮助。

+0

不重复,因为他们的解决方案无法正常工作。 – user2694306 2015-04-02 13:28:19

+0

[如何从Git存储库中的提交历史中删除/删除大文件?](http://stackoverflow.com/questions/2100907/how-to-remove-delete-a-large-file-from- commit-history-in-git-repository) – meagar 2015-04-02 13:30:10

+0

这些解决方案都不起作用。这就是为什么我发布了一个新问题。我们能否请尽量保持建设性并帮助其他用户,而不是仅仅关闭有效的问题。 – user2694306 2015-04-02 13:34:08

回答

0

首先,修剪那些不再连接的事物:

git prune 

如果没有帮助,也许你的承诺仍在那里挤满;

git prune-packed 

编辑如果仍然无法正常工作,这意味着仍有所添加的原始文件的回购历史上提交(否则,工作git rm --cachedgit reset后没有意义) 。

在做出git rm然后git rebase -i HEAD~10之后,您可以提交,将rm-commit的行移动到最初添加文件的提交之后。应用这个rebase。然后再次(我总是这样做两步,只是为了让混乱保持在可接受的水平)git rebase -i HEAD~10,这次将您的rm-commits类型从pick更改为fixup。这应该将添加的文件从添加提交中移除。

+0

不是,仍然是相同的消息。即使在运行git rm logs/log.dat之后 – user2694306 2015-04-02 13:33:12