git - 为所有 Git 子模块设置分支时出错
问题描述
我想将我的所有 git 子模块分支更新为 Master。(以前它们在 dev 分支中)
我引用了这么多链接并执行了以下命令,但出现以下错误。
PS C:\Users\Mohan\source\repos\MainProject> cat .gitmodules [submodule "SubProject1"]
path = SubProject1
url = https://TestGitSubModules@dev.azure.com/TestGitSubModules/SubProject1/_git/SubProject1
branch = dev
[submodule "SubProject2"]
path = SubProject2
url = https://TestGitSubModules@dev.azure.com/TestGitSubModules/SubProject2/_git/SubProject2
branch = dev
PS C:\Users\Mohan\source\repos\MainProject> git submodule foreach 'git submodule set-branch --default -- ${sm_path}' Entering 'SubProject1'
**error: pathspec 'SubProject1' did not match any file(s) known to git
fatal: run_command returned non-zero status for SubProject1**
谁能帮我摆脱这个
谢谢。
解决方案
这应该这样做:
git submodule foreach --recursive 'git submodule set-branch --default'
注意 url 的递归和省略。
您在 foreach 中没有远程 url,因此您无法对其进行跟踪。