使用IntelliJ IDEA忽略未版本控制的文件不会添加到.gitignore

Pat*_*ard 6 git intellij-idea

我刚刚注意到,当我在IDEA中有未版本控制的文件或整个目录时,如果我通过右键单击并选择忽略来指定忽略这些文件或目录,则它们不会添加到.gitignore中.

IDEA如何管理该列表呢?它似乎认识到.gitignore的变化,那么为什么不将忽略的文件添加到.gitignore呢?我只是想如果有人问我的回购,或者我开始与另一个开发人员合作,他们可能推送我要求IDEA忽略的文件.

谢谢.

Sta*_*Log 5

Git具有忽略文件的标准机制,基本上是:

  • 从同一目录或任何父目录中的.gitignore文件读取的模式。
  • 从$ GIT_DIR / info / exclude读取的模式。
  • 从配置变量“ core.excludesFile”指定的文件中读取模式。

但是,IntelliJ添加了自己的机制来忽略文件:

窗口“版本控制”,选项卡“本地更改”,按钮“配置忽略的文件”(在左侧)。IntelliJ根本不会对以这种方式忽略的文件执行“ git add”。请注意,这与Git的“ gitignore”不同。IntelliJ内的效果是相同的,但是所发生的事情不是很透明-正如CrazyCoder的注释中链接的IDEA问题中所述。

在Git命令行上,“ git status”将显示“ IntelliJ-ignored files”为“ Untracked files”(使用“ git add ...”)。如果它们是目录,则“ git status”甚至不会提及其中包含的文件,因为该目录已经“未跟踪”。

正确的“忽略Git的”文件根本不会显示 “ git status”,即不建议使用“ git add ...”。

最好的策略可能是永远不要使用IntelliJ的ignore机制,而仅依靠Git的gitignore。对于IntelliJ中的Maven项目,我目前在Git配置变量“ core.excludesfile”指向的私有gitignore文件中使用以下行:

/.idea/
target/
Run Code Online (Sandbox Code Playgroud)

  • 自 IntelliJ 2019.2 以来,此行为已发生更改。“忽略文件”功能已被删除,IntelliJ 将改用 Git 自己的忽略系统。 (2认同)