正在删除被忽略的文件

时间:2013-01-27 16:06:25

标签: git gitignore

几天前,我注意到,某些提交文件在.gitignore中也被忽略了。这是该网站的主要配置文件,我的开发副本已经以某种方式得到了承诺。

为了删除文件,我创建了一个从.gitignore中删除该行的提交,并删除了有问题的文件。然后我创建了另一个添加.gitignore行的提交。

但是现在,每当这些提交应用于某人的环境时,他们忽略的配置文件就会被删除!我怎样才能修复我的仓库以便不再发生这种情况?

1 个答案:

答案 0 :(得分:0)

你不能真的。如果您当前的HEAD提交跟踪文件并且因此包含它,并且后​​续提交没有,Git将通过删除文件来应用此差异,因为这是历史记录中发生的事情。如果您想保存文件,可以在签出新版本之前临时重命名,以防止Git删除它,或者您可以使用git checkout oldcommit -- config.file查看旧版本的文件。

.gitignore文件的作用不是要阻止在存储库中添加或删除任何内容。它只影响Git检测未跟踪文件的机制,例如:通过隐藏git status输出中的忽略(但未跟踪!)文件。但它不会阻止您明确地从存储库中添加或删除文件。

话虽如此,您不必从.gitignore中删除该行以从存储库中删除该文件。你可以用git rm --cached config.file来解开它;没有在文本上删除文件而没有触摸gitignore。

相关问题