什么是 'dirty' 子模块?
What is a 'dirty' Submodule?
我在 .gitmodule
文件中看到 ignore = dirty
。
示例:
[submodule "docs/submodules/netvirt"]
path = docs/submodules/netvirt
url = ../netvirt
branch = .
ignore = dirty
文档指出:
"dirty" will ignore all changes to the submodules work tree and takes
only differences between the HEAD of the submodule and the commit
recorded in the superproject into account.
我不明白这是什么意思。有人可以用简单的语言说明这一点吗?
我的理解是,当我将子模块添加到超级项目时,它处于状态 C(HEAD at C),然后过了一段时间它现在处于状态 F(HEAD at F)。 ignore=dirty
只会考虑变化 D、E、F(这是它应该做的!)
显然,我误会了什么。它是什么?
此处的术语"dirty"与Git中其他地方的含义相同:有问题的回购跟踪了具有未提交修改的文件(先前已提交的文件) , and/or 有新的未跟踪文件。
在子模块的 ignore = dirty
设置的上下文中,这意味着如果子模块是脏的(即如果它跟踪了未提交修改的文件,and/or 新的未跟踪文件), 此类更改将被忽略。不会被忽略的是签出提交的差异,例如父项目指向提交 C
但子模块当前已提交 F
签出。
这些是子模块的可能状态,以及设置为 ignore = dirty
:
的父项目中的状态
- 子模块已签出与父项目中记录的相同的提交,工作目录是干净的(没有修改或未跟踪的文件)。父项目显示子模块没有变化。
- 子模块已检出与父项目中记录的相同的提交,工作目录已变脏(已修改或未跟踪文件)。父项目显示子模块没有变化(因为
ignore = dirty
)。
- 子模块签出的提交与父项目中记录的提交不同,工作目录是干净的。父项目显示子模块发生了变化(可视化为提交哈希值的变化)。
- 子模块签出的提交与父项目中记录的提交不同,工作目录不干净。父项目显示子模块发生了变化(仍然可视化为提交哈希值的变化,因为
ignore = dirty
)。
我在 .gitmodule
文件中看到 ignore = dirty
。
示例:
[submodule "docs/submodules/netvirt"]
path = docs/submodules/netvirt
url = ../netvirt
branch = .
ignore = dirty
文档指出:
"dirty" will ignore all changes to the submodules work tree and takes only differences between the HEAD of the submodule and the commit recorded in the superproject into account.
我不明白这是什么意思。有人可以用简单的语言说明这一点吗?
我的理解是,当我将子模块添加到超级项目时,它处于状态 C(HEAD at C),然后过了一段时间它现在处于状态 F(HEAD at F)。 ignore=dirty
只会考虑变化 D、E、F(这是它应该做的!)
显然,我误会了什么。它是什么?
此处的术语"dirty"与Git中其他地方的含义相同:有问题的回购跟踪了具有未提交修改的文件(先前已提交的文件) , and/or 有新的未跟踪文件。
在子模块的 ignore = dirty
设置的上下文中,这意味着如果子模块是脏的(即如果它跟踪了未提交修改的文件,and/or 新的未跟踪文件), 此类更改将被忽略。不会被忽略的是签出提交的差异,例如父项目指向提交 C
但子模块当前已提交 F
签出。
这些是子模块的可能状态,以及设置为 ignore = dirty
:
- 子模块已签出与父项目中记录的相同的提交,工作目录是干净的(没有修改或未跟踪的文件)。父项目显示子模块没有变化。
- 子模块已检出与父项目中记录的相同的提交,工作目录已变脏(已修改或未跟踪文件)。父项目显示子模块没有变化(因为
ignore = dirty
)。 - 子模块签出的提交与父项目中记录的提交不同,工作目录是干净的。父项目显示子模块发生了变化(可视化为提交哈希值的变化)。
- 子模块签出的提交与父项目中记录的提交不同,工作目录不干净。父项目显示子模块发生了变化(仍然可视化为提交哈希值的变化,因为
ignore = dirty
)。