每次我通过SourceTree切换到不同的分支时,它执行此命令(除了切换分支命令)
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree submodule update --init --recursive
有什么意义?
答案 0 :(得分:1)
子模块在父仓库中被引用为 gitlink ,一个special entry in the index,它指向子仓库的SHA1。
无论何时切换分支,该条目都可以更改,这意味着应该在不同的SHA1再次检出子仓库。
这正是git submodule update --init
的作用。
init
和update
子命令将维护子模块,并在工作树中以适当的版本进行检查。