忽略跟踪文件中的更改。存根

.gitignore.git/info/exclude 仅适用于未跟踪的文件。

要在跟踪的文件上设置 ignore 标志,请使用命令 update-index

git update-index --skip-worktree myfile.c

要恢复此功能,请使用:

git update-index --no-skip-worktree myfile.c

你可以将此代码段添加到全局 git 配置中, 以便更方便地使用 git hidegit unhidegit 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 优先于假设未更改。