当'git filter-branch'失败时,从特定提交中删除特定文件

时间:2016-12-29 12:36:31

标签: git git-filter-branch cherry-pick git-rm

我不能再在我的工作目录中提交,因为repo中有一些巨大的文件没有包含在gitignore中,因此它们在许多提交/修订中被反复使用。

我按照以下说明操作: http://naleid.com/blog/2012/01/17/finding-and-purging-big-files-from-git-history 但是git filter-branch部分失败了

  

无法重写分支:您有未分阶段的更改。另外,你的   index包含未提交的更改。

在这种情况下,我如何识别,例如所有提交,现在或过去的最大文件,然后从特定提交中删除特定文件

1 个答案:

答案 0 :(得分:1)

每个提交都是整个仓库的状态,因此您必须重写在该特定仓库之后的所有提交。所以不,你不能只编辑那个提交。

您看到的错误消息是关于您有未分级的更改,因此您需要例如存储它们,或使用其他干净的结帐来进行过滤分支以便能够继续。