Git 忽略问题

Git ignore issues

如何排除目录被 Git 跟踪?我的 Git 忽略条目不起作用。

我的 Drupal 网站有一个令人困惑的问题,我在其中使用了两个 Git 存储库。

网站的基本结构是:var/www/Intranet/sites/intranet

Intranet/sites/intranet 中是我的第一个 Git 存储库,我在这里使用 Git 维护自定义和贡献代码以进行版本控制。

为了对 Drupal 核心代码库进行版本控制,我在 var/www/Intranet 启动了一个新的 GIT 存储库。这个新的 repo 旨在跟踪除 sites 子目录的内容之外的所有内容。为此,我将 sites 添加到 .gitignore 文件中。

但是,我最近注意到当我去 var/www/Intranet/sites 时,它仍然被新的 Git 仓库(var/www/Intranet)跟踪,这不应该是案例.

我不确定为什么会这样。

(我首先看错了你的问题。)

如果您有两个嵌套的 git 存储库:

Intranet   # <- repo1
+- .git/
+- sites/
 +- intranet  # <- repo2
  +- .git/
  • repo1, git 会自动发现 sites/intranet 是另一个 repo,并且不会尝试跟踪其中的任何内容,
  • 来自 repo2,git 将向您显示 repo2 的历史记录,并报告 repo2
  • 中文件的任何更改

如果您从存储库中的任何地方 运行 平面 git log,您将看到整个存储库的历史记录。

如果您想检查哪些更改影响了特定文件或目录(路径):
你应该 运行 git log [path]

如果您 运行 git log sites/ 例如(或等同于:cd sites/; git log .),您应该会看到 sites/ 目录中没有提交任何内容。

同样:

  • git status 将输出有关整个 repo
  • 文件的信息
  • git status [path] 将其输出限制为包含在 [path]
  • 中的文件