6

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

那么 IDEA 是如何管理该列表的呢?它似乎可以识别 .gitignore 的更改,那么为什么不将忽略的文件也添加到 .gitignore 呢?我只是在想,如果有人分叉我的仓库,或者我开始与另一个开发人员合作,他们可能会推送我要求 IDEA 忽略的文件。

谢谢。

4

2 回答 2

5

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

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

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

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

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

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

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

/.idea/
target/
于 2015-10-16T11:15:08.970 回答
0

要获得 PYCharm 忽略项目目录中位于 .gitignore 中的文件,您必须在头部 Es 中设置不带 ./ 的目录。从:

./.idea/
./chromedriver_win32/
./dist/
./files/
./mdc_venv/

.idea/
chromedriver_win32/
dist/
files/
mdc-venv/
于 2020-06-09T12:50:30.017 回答