我意外地提交了一些不应该被跟踪的文件,应该为每个开发人员自己生成。我已经为他们添加了一个.gitignore的模式,但当然为时已晚,因为文件已经存在于回购中。我已经检查了这些问题的答案,但他们都说了同样的话:
命令:
git rm --cached <file>
不起作用,因为如果我提交了这个,那么其他开发人员一旦删除就会删除他们的文件版本。
git update-index --assume-unchanged <file>
..因为文件仍在被跟踪而无法工作,所以如果有人进行更改,除非每个开发人员都运行该命令,否则它们将被提交。无论哪种方式,它都会将文件保存在我们不想要的存储库中。
有没有办法让它好像文件永远不会在存储库中?我希望与git rm --cached <file>
具有相同的行为,而不需要注意它会导致文件被删除...
答案 0 :(得分:0)
“有没有办法让它好像文件永远不会在存储库中?” “我不会亲自使用[rebase],因为这是要求所有其他开发人员采取某些行动的同样问题”
然后没有解决方案。这就是git的本质,承诺和推动的错误是永远存在的。这是一个功能,而不是错误。
这是一种非常常见的情况,答案可能对其他人有帮助
阅读the documentation会更好。