我收到致命的sha1错误。我相信它试图写大文件是困难的。 我的状态说我提前做了8件事。我试图将文件扩展名添加到exclude文件夹中的忽略列表,但它仍然卡住了。如何继续操作而不会丢失我的本地更改(大文件除外)?
我已经尝试了Predict how much data will be pushed in a git push,捆绑包很大~650MB。
我不知道如何忽略之前提交的未被推送的文件。我可以在不丢失本地文件的情况下清除旧提交吗?然后删除大文件然后再次提交?
答案 0 :(得分:9)
来自http://git-scm.com/book/en/Git-Tools-Rewriting-History:
从每个提交中删除文件
这种情况相当普遍。有人意外地提交了一个巨大的二进制文件与一个轻率的git add。,你想要在任何地方删除它。也许你不小心提交了一个包含密码的文件,并且你想让你的项目成为开源的。 filter-branch是您可能想要用来擦除整个历史记录的工具。要从整个历史记录中删除名为passwords.txt的文件,可以使用--tree-filter选项过滤分支:
$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD
但如果它只是最后一次提交你搞砸了,你可以用git rm large_file
和git commit --amend
来解决它