我有时使用 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
中显示为未跟踪?
答案 0 :(得分:0)
存储库自身 .gitignore
中的模式优先于全局模式。如果存储库自己的 .gitignore
文件包含否定 $env:XDG_DATA_HOME/git/ignore
中的一行的行(在这种情况下,该行是 !/nixpkgs/**
)该文件将不会被忽略。
git check-ignore
是一个有用的工具,用于确定文件被忽略或未被忽略的原因。