停止跟踪并忽略文件,就好像它从未在Git中添加一样

时间:2016-01-29 06:15:08

标签: git

我意外地提交了一些不应该被跟踪的文件,应该为每个开发人员自己生成。我已经为他们添加了一个.gitignore的模式,但当然为时已晚,因为文件已经存在于回购中。我已经检查了这些问题的答案,但他们都说了同样的话:

命令:

git rm --cached <file>

不起作用,因为如果我提交了这个,那么其他开发人员一旦删除就会删除他们的文件版本。

git update-index --assume-unchanged <file>

..因为文件仍在被跟踪而无法工作,所以如果有人进行更改,除非每个开发人员都运行该命令,否则它们将被提交。无论哪种方式,它都会将文件保存在我们不想要的存储库中。

有没有办法让它好像文件永远不会在存储库中?我希望与git rm --cached <file>具有相同的行为,而不需要注意它会导致文件被删除...

1 个答案:

答案 0 :(得分:0)

  

“有没有办法让它好像文件永远不会在存储库中?” “我不会亲自使用[rebase],因为这是要求所有其他开发人员采取某些行动的同样问题”

然后没有解决方案。这就是git的本质,承诺和推动的错误是永远存在的。这是一个功能,而不是错误。

  

这是一种非常常见的情况,答案可能对其他人有帮助

阅读the documentation会更好。