Если я добавлю подмодуль, который в настоящее время не существует, информация о подмодуле не будет добавлена в .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
Однако, если я добавлю репо, которое в настоящее время существует в качестве подмодуля 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 add
изменил бы только .gitmodules
, и что подмодуль git init
обновил бы .git / config
проекта.
Почему .git / config
изменен во втором случае, а не в первом? Может ли кто-нибудь объяснить причину такого поведения?