如何在git status中忽略.gitignore文件?

9
当我运行git status命令时,会列出一堆.gitignore文件,但实际上我对它们不感兴趣(这些文件已经被Eclipse更新了)。我浏览了许多关于这个看起来很常见的问题的帖子,但是没有一个建议让我解决了这个问题。例如,我进入~/.gitconfig文件,找到了以下内容: excludesfile = ~/.gitignore_global。然后我进入那个文件,在末尾添加了.gitignore,但是没有改变任何东西。那么,我该如何在git status中有效地忽略.gitignore文件,以便它们不会混淆视图?

git status 是否显示正在跟踪的 .gitignore 文件?如果是,则无法忽略它们。也许将 Eclipse 的额外设置移动到 .git/info/exclude 中,并放弃对 .gitignore 文件的更改。 - John Szakmeister
我尝试了那个,不行。 - amphibient
5个回答

14

听起来你可能误解了Git中"忽略(ignore)"的意思。在.gitignore文件中提到的文件名称意味着如果一个文件是未被追踪的(untracked),那么git status将不会显示该文件作为未被追踪的文件。

当文件被Git跟踪并已被修改时,忽略文件并不会有任何作用。这被视为对你的存储库的更改,Git不允许你忽略它。(毕竟,你已经告诉Git该文件足够重要,值得存储在你的存储库中,所以Git有责任通知你该文件的更改情况。)

如果你的工具(Eclipse)正在修改你的.gitignore文件,我建议你指示Eclipse停止这样做。


那么,如果.gitignore在存储库中,如何忽略它?这是一个有效的用例。 - WestCoastProjects
1
如果您需要对 .gitignore 进行本地更改,但又不想提交这些更改,那么请使用 .git/info/exclude。@javadba - Greg Hewgill
2
@javadba 或者使用 git update-index --assume-unchanged myfile。当一个文件需要被跟踪但你不想提交本地更改时,这是非常方便的。 - Rad Haring
@RadHaring和Greg - 感谢你们的建议。这对于Spark代码库非常有用。 - WestCoastProjects

4

尝试:

git status --ignored

man git-status 中得知:

--ignored 同时显示被忽略的文件。


3
这似乎是对用户所遇到问题的相反方案的答案。 git status正在显示被忽略的文件,而他不想看到它们。 - Matt

2
只需将'.gitignore'条目添加到.gitignore文件中,然后'git status'就不会将.gitignore显示为未跟踪的文件之一。如果您不想将.gitignore包含在源代码控制中,则这可能很有帮助。

0

查看您的 git 版本是否支持未跟踪选项。例如:

git status --untracked-files=no


0

你可以,

Git ignore 是用来设置忽略的文件。

你不能忽略忽略设置文件,这将是一种奇怪的行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接