Git不会忽略我的项目中的文件

时间:2013-07-18 03:24:29

标签: git gitignore

我还在和Git挣扎。我有git本地回购。它看起来如下:

project
  - .git
     - .gitignore
  - child [directory]
  - some files

的.gitignore:

target/
logs/

.DS_Store

我做到了。

git rm --cached .
git add .

我预计.gitignore中的文件和目录不会被跟踪,但它不起作用。文件中没有任何内容被忽略。

我能解决这个问题吗?

您的回答将不胜感激。

1 个答案:

答案 0 :(得分:2)

有3个地方你可以在git中配置忽略文件(而.git/.gitignore不是其中之一)。从最高优先级到最低优先级,它们是:

  • 与路径位于同一目录中的.gitignore,或位于任何父目录中。 .gitignore已与项目的其余部分一起提交和版本化。存储库的根目录中通常有一个,但每个目录最多可以有一个。此文件应包含要忽略的项目特定事项(构建输出等)。
  • 每个名为.git/info/exclude的存储库文件。此文件未进行版本控制,只会影响该存储库。
  • 配置变量core.excludesfile指定的全局文件。它通常放在名为~/.gitignore_global的用户主目录中,但可以命名为任何名称。此文件也没有版本。它适用于所有git存储库。此文件应包含要忽略的项目不可知的内容(编辑器文件,操作系统文件)。

在您的情况下,您应该在项目的根目录中创建一个.gitignore,其中包含以下内容:

target/
logs/

然后为.DS_Store中的~/.gitignore_global规则创建全局gitignore:

.DS_Store

运行git config --global core.excludesfile ~/.gitignore_global以启用该文件。

有关详细信息,请参阅this helpful GitHub articlegitignore(5)