我的.gitmodules
文件如下:
[submodule "server"]
path = server
url = https://github.com/companyName/app-name-server
branch = master
[submodule "client"]
path = client
url = https://github.com/companyName/app-name-client
branch = master
[submodule "deploy-instructions"]
path = deploy-instructions
url = https://github.com/companyName/app-name-deploy-instructions
branch = master
[submodule "shared"]
path = shared
url = https://github.com/companyName/app-name-shared
branch = master
当我克隆仓库并运行git submodule update --init --recursive
时,server
和client
子模块会被拉出,而deploy-instruction
和shared
不会。此外,server
和client
都不在master分支上。
这是怎么回事?
答案 0 :(得分:1)
服务器和客户端也不在master分支上。
子模块更新会将这些子模块检出到其gitlink中记录在父存储库索引中的SHA1中,而与分支无关。
如果希望他们拉主分支并更新到其HEAD,则需要:
git submodule update --remote
不要部署和共享指令。
检查git ls-files --stage | grep 160000
的结果:如果没有看到这两个文件夹,则意味着它们的gitlink已被相同名称的实际(非子模块)文件夹覆盖。