当该子模块没有该分支时,Git 子模块会忽略分支签出时的错误
我的 git 存储库中有 6 个子模块,即 submodule1、submodule2、... submodule6。 在 4 个子模块上: submodule1/2/4/5 我有一个分支,featureABC 说,在它们上面。
当我运行签出命令时:
$ git submodule foreach git checkout featureABC
出现错误:
error: pathspec 'featureABC' did not match any file(s) known to git
fatal: run_command returned non-zero status for submodule3
我知道 submodule3/6 没有分支 featureABC,我想在运行递归签出时忽略它们。所以我的问题是:有什么方法可以忽略签出错误,保留 submodule3/5 的分支不变并继续其他子模块签出吗?
I have 6 sub modules in a git repository, says submodule1, submodule2,... submodule6.
On 4 sub modules: submodule1/2/4/5 I have a branch, says featureABC, on them.
When I run the checkout command:
$ git submodule foreach git checkout featureABC
there is an errror:
error: pathspec 'featureABC' did not match any file(s) known to git
fatal: run_command returned non-zero status for submodule3
I know that submodule3/6 do not have branch featureABC and I want to ignore them when run recursive checkout. So my question is: is there any way to ignore checkout error, leave the branch of submodule3/5 as it is and continue to other submodule checkout?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
忽略此 shell 语法的所有错误:
:
表示“不执行任何操作”。Ignore all errors with this shell syntax:
:
means "do nothing".您需要一个带有参数的 git 别名:
我在这里使用
git 开关
(Git 2.23,2019 年第 3 季度)而不是git checkout
。git switch
仅适用于分支,而不是像git checkout
那样的“分支或文件”。You would need a git alias with parameters:
I am using here
git switch
(Git 2.23, Q3 2019) instead ofgit checkout
.git switch
works only with branches, not "branches or files" likegit checkout
.