我在一个 .gitmodule
文件中看到了 ignore = dirty
。
示例:
[submodule "docs/submodules/netvirt"]
path = docs/submodules/netvirt
url = ../netvirt
branch = .
ignore = dirty
文档说明:“dirty”将忽略子模块工作树的所有更改,仅考虑超级项目记录的提交和子模块HEAD之间的差异。
我不理解这意味着什么。有人能用简单易懂的语言来解释一下吗?
我的理解是,假设我将子模块添加到超级项目中时,它处于C状态(C处于HEAD),然后经过一段时间,现在它处于F状态(F处于HEAD)。ignore = dirty只会考虑D、E、F的更改(这正是它应该做的!)
显然,我误解了某些内容。那是什么?
HEAD
不同和/或工作树与索引不同。每个子模块都是自己的存储库,因此要测试子模块是否“dirty”,请“cd”进入子模块并测试存储库是否“dirty”。 - torek