Git高级忽略

时间:2015-01-12 05:14:36

标签: git gitignore

我的.gitignore看起来更像是这样:

# Ignore everything
*

# But not these files...
!.gitignore
!ImportantDirectory/
!AnotherImportantDirectory

# Actually, ignore these...
ImportantDirectory/NotImportantFile

问题是ImportantDirectory/NotImportantFile仍在跟踪中。知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

如果您以前包含该文件,则会继续跟踪该文件,直到您将其从存储库中删除为止,即使您在.gitignore中列出该文件也是如此。听起来就是这里发生的事情。你可以用:

来做到这一点
git rm --cached ImportantDirectory/NotImportantFile

请注意,这将从.git存储库中删除该文件,但不会删除磁盘上的本地文件。但请注意,对于任何提取git存储库的人来说,这将删除ImportantDirectory/NotImportantFile,因此如果这是一个文件,他们还需要维护,但不包括在内,您可能需要采取不同的方法。

答案 1 :(得分:0)

您无法忽略已跟踪的路径。要解决此问题,只需将NotImportantFile移动到其他位置,git rm,然后提交,然后将文件移回原位。现在它将被正确忽略。