Git 2.34.1+中无破坏性忽略.gitignore文件的方法咨询
针对单个项目忽略.gitignore的无破坏性方案
以下两种方法均为本地单项目配置,无需修改仓库文件或提交变更,完全符合需求:
方法一:使用assume-unchanged标记
执行以下命令,让Git暂时忽略对.gitignore文件的修改追踪:
git update-index --assume-unchanged .gitignore
该命令会告诉Git:你已确认此文件的本地修改,无需再监控它的变化。之后.gitignore的修改不会出现在git status中,也不会被提交到仓库。
若需要恢复对该文件的追踪,执行:
git update-index --no-assume-unchanged .gitignore
方法二:使用skip-worktree标记(更适用于fork仓库场景)
如果需要保留本地.gitignore的修改,同时避免上游仓库的更新覆盖它,推荐使用此命令:
git update-index --skip-worktree .gitignore
skip-worktree比assume-unchanged更适合远程文件可能被修改的场景(比如你所处的fork仓库),它会让Git完全忽略该文件的本地变更,拉取上游代码时也不会用远程版本覆盖你的本地修改。
恢复追踪的命令:
git update-index --no-skip-worktree .gitignore
为什么你之前的尝试无效
- 修改Git可执行文件属于全局篡改,不仅可能破坏Git功能,也无法针对单个项目生效,不可取。
- 在
.gitignore或.git/info/exclude中添加.gitignore无效,因为这两个配置仅对未被Git追踪的文件生效,而.gitignore本身已经是被追踪的文件,规则对它不适用。
内容的提问来源于stack exchange,提问作者Aquarius Power
相关产品推荐
相关产品推荐

