自动摘要
正在生成中……
你总结的完全正确 👍
我帮你把逻辑梳理一下,方便以后查阅:
git update-index --skip-worktree <file>
查看哪些文件被标记了
git ls-files -v | grep '^S'
-
S
开头表示 skip-worktree
标记。
-
其他标记:
-
H
→ assume-unchanged
-
M
→ 已修改(tracked)
撤销 skip-worktree
git update-index --no-skip-worktree <file>
- 恢复文件的正常跟踪状态,本地修改会再次出现在
git status
。
补充说明:和 assume-unchanged
的区别
-
skip-worktree
:常用于 大项目中个性化配置文件,比如 .env
,因为它更语义化,表示“这是工作区专用的改动”。
-
assume-unchanged
:性能优化用,告诉 Git “这个文件不会变,不用每次都检查”,但如果本地修改了,还是可能带来意料之外的情况。