.git / info / exclude中的声明不能从暂存中排除

时间:2016-12-15 14:16:43

标签: git

我的项目目录中有tst.prop个文件,我不想将其提交到存储库。我已将*.prop行放在.git/info/exclude中。当我输入git status命令时,我仍然有一行:

modified: tst.prop 

为什么它仍在那里?如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

gitignore file

的文档第一段对此进行了解释
  

gitignore文件指定Git应忽略的故意未跟踪文件。 Git已经跟踪的文件不受影响。

由于git status将您的文件报告为modified,这意味着Git已经跟踪该文件(过去已添加并提交)。

为了强制Git忘记它,你必须将它的删除添加到索引(Git准备下一次提交的区域)然后提交更改:

git rm --cached tst.prop
git commit

但是,因为您将文件放在.git/info/exclude中,将来Git只会在本地存储库中删除它。在他们从中央存储库中提取最新更改(删除文件)后,您的协作者将文件设置为"未跟踪"而且,最有可能的是,他们会再将它添加到回购邮件中。

如果你想让Git忽略那个适用于项目的人的文件,你必须将它放在.gitignore中,然后将.gitignore添加到存储库并提交它。并且不要忘记从索引中删除文件,如上所述。