子模块的.git文件夹

子模块的.git文件夹,git,github,Git,Github,在git的一个版本中,我们有(git版本1.7.4.4): 然而,在另一台计算机中(git版本1.7.12.4(Apple git-37)): 为什么会有差异?这项更改是什么时候完成的?您以另一种方式获得了版本 该更改在1.7.8中引入: 用“git submodule”填充新的子模块目录时 init”,子模块的$GIT_DIR元信息目录是 在的$GIT_DIR/modules//目录中创建 超级项目,并通过gitfile机制引用。这是为了 使超级项目中的提交之间切换成为可能 在未重新克隆的情况

在git的一个版本中,我们有(git版本
1.7.4.4
):

然而,在另一台计算机中(git版本
1.7.12.4(Apple git-37)
):


为什么会有差异?这项更改是什么时候完成的?

您以另一种方式获得了版本

该更改在
1.7.8
中引入:

用“git submodule”填充新的子模块目录时 init”,子模块的$GIT_DIR元信息目录是 在的$GIT_DIR/modules//目录中创建 超级项目,并通过gitfile机制引用。这是为了 使超级项目中的提交之间切换成为可能 在未重新克隆的情况下,在树中具有和不具有子模块


可以集中根存储库文件夹中.git文件夹中的所有元数据


这被称为独立的git dir。

这就是它的优点:可以在超级项目中的提交之间切换,该超级项目在树中有和没有子模块,而无需重新克隆
ProjectRoot/.git/modules/SubmoduleX/config
ProjectRoot/SubmoduleX/.git/config