2012-07-15 148 views

回答

1

git filter-branch可能是有用的。这允许你重写一系列过去的提交,改变提交的内容。

如果您所做的更改从未离开您的本地存储库,那么这将起作用。如果您在某个地方推动了有问题的更改,或者如果有人从您那里推出了这些更改,那么您在所有人的存储库中都会遇到更大的问题。

但是,要解决你的本地库:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch bad-file1.txt bad-file2.txt' master..abc 

这意味着:

  • git filter-branch:让我们重新编写一些提交!

  • --index-filter:更改每个提交的索引而不实际在磁盘上检出它。

  • 'git rm --cached --ignore-unmatch bad-file1.txt bad-file2.txt':对于每一个承诺,unstage两个文件,如果它们存在。

  • master..abc:做这个分支上所有提交ABC回到它从主分支分叉。您也可以说“master~3”来重写过去3次提交或其他任何range of revisions。您还可以使用“-- --all”(两个破折号,空格,两个破折号“all”)重写存储库中的所有内容。

+0

这就是它。谢谢,我不小心检查了日志文件和tmp文件:/ – Bill 2012-07-15 17:02:06

相关问题