【发布时间】:2011-05-21 17:36:04
【问题描述】:
如果我添加一个当前不存在的子模块,.git/config 不会添加任何子模块信息。
$ mkdir testing
$ cd testing
$ git init
$ git submodule add git@git.server:submodule.git
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
但是,如果我添加一个当前作为子模块存在的 repo,则会将 url 添加到 .git/config:
$ mkdir testing
$ cd testing
$ git init
$ git clone git@git.server:submodule.git
$ git submodule add git@git.server:submodule.git
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[submodule "submodule"]
url = git@git.server:submodule.git
我会假设在这两种情况下,git submodule add 只会修改.gitmodules,而git submodule init 会更新项目的.git/config。
为什么在第二种情况下修改了.git/config 而不是第一种情况?有人可以解释这种行为的原因吗?
【问题讨论】:
标签: git add git-submodules