忽略跟踪文件中的更改。存根
.gitignore 和 .git/info/exclude
仅适用于未跟踪的文件。
要在跟踪的文件上设置 ignore 标志,请使用命令 update-index :
git update-index --skip-worktree myfile.c
要恢复此功能,请使用:
git update-index --no-skip-worktree myfile.c
你可以将此代码段添加到全局 git 配置中, 以便更方便地使用 git hide
,git unhide
和 git hidden
命令:
[alias]
hide = update-index --skip-worktree
unhide = update-index --no-skip-worktree
hidden = "!git ls-files -v | grep ^[hsS] | cut -c 3-"
你还可以使用选项 –assume-unchanged 和 update-index 函数
git update-index --assume-unchanged <file>
如果要再次查看此文件以进行更改,请使用
git update-index --no-assume-unchanged <file>
当指定了 –assume-unchanged 标志时,用户承诺不更改文件,并允许 Git 假设工作树文件与索引中记录的文件匹配。如果需要在索引中修改此文件,Git 将失败例如,在提交中合并; 因此,如果上游更改了假定未跟踪文件,则需要手动处理该情况。在这种情况下,重点在于性能。
虽然 –skip-worktree 标志在指示 git 不接触特定文件时很有用,因为该文件将在本地更改,并且你不希望意外提交更改(即为特定文件配置的配置/属性文件)环境)。当两者都设置时,Skip-worktree 优先于假设未更改。