首页 > 解决方案 > 为所有 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

解决方案


这应该这样做:

git submodule foreach --recursive 'git submodule set-branch --default'

注意 url 的递归和省略。
您在 foreach 中没有远程 url,因此您无法对其进行跟踪。


推荐阅读