0

我仍在与 Git 斗争。我有 git 本地存储库。如下所示:

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

.gitignore:

target/
logs/

.DS_Store

我做到了。

git rm --cached .
git add .

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

我能解决这个问题吗?

您的回答将不胜感激。

4

1 回答 1

2

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

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

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

target/
logs/

.DS_Store然后为以下规则创建一个全局 gitignore ~/.gitignore_global

.DS_Store

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

有关更多信息,请参阅这篇有用的 GitHub 文章gitignore(5)

于 2013-07-18T04:35:10.477 回答