Git不忽略未跟踪的文件

时间:2021-02-15 03:26:10

标签: git gitignore

我有时使用 VSCode,这有时会导致 .vscode 文件夹自发出现。我对此很好,但我不希望它们出现在我的 git 存储库中,所以我将它们添加到我的全局 gitignore 中。

但至少在一个运行 git status 的存储库中仍然显示一个未跟踪的 .vscode 目录。相关命令的输出如下

.config on  canon [?] via ❄️  impure 
❯ gc ~/.config/git/ignore           
.*.swp
result
.vscode/
__pycache__/

.config on  canon [?] via ❄️  impure 
❯ git st                 
On branch canon
Your branch is up to date with 'origin/canon'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    nixpkgs/home-manager/scripts/.vscode/

nothing added to commit but untracked files present (use "git add" to track)

man 5 gitignore 表示忽略模式将匹配任何级别,除非文件在开头或中间有 / - 而这个模式没有。那么,为什么该目录在 git status 中显示为未跟踪?

1 个答案:

答案 0 :(得分:0)

存储库自身 .gitignore 中的模式优先于全局模式。如果存储库自己的 .gitignore 文件包含否定 $env:XDG_DATA_HOME/git/ignore 中的一行的行(在这种情况下,该行是 !/nixpkgs/**)该文件将不会被忽略。

git check-ignore 是一个有用的工具,用于确定文件被忽略或未被忽略的原因。

相关问题