同时在多个仓库中创建git分支

3
我在Github上有20个git存储库,我希望能够通过一次命令或单击在所有20个存储库中创建一个分支(而不是逐个手动进入所有20个存储库)。
我知道可以编写Shell脚本来实现这一点。但我想知道是否可以利用子模块或其他方法?不确定,谢谢您的帮助。

我不知道它是否仍在开发中,但你应该能够使用https://code.google.com/p/git-repo/来完成它。 - Philippe
目的是什么?你是否也需要在20个分支上自动提交?还是这只是一次性操作? - Manuel Schmidt
1个回答

5
考虑到您可以 一次推送到多个存储库,您可以在本地仓库中定义一个远程“all”,指向这些20个存储库,创建一个本地孤立分支,然后将该分支推送到“all”。
如果您的分支应从现有分支开始,则子模块确实是更好的解决方案,因为您可能在谈论具有自己的现有历史记录的20个不同存储库。
使用引用了20个存储库的本地存储库中的 .gitmodules ,您可以使用(如此处所述 git submodule foreach 语法来创建和推送该新分支( git checkout master; git checkout -b new_branch; git push -u origin new_branch ,在脚本中包装如此回答中所示)。

我有类似的需求。我有10个不同的代码库。每次工作,我需要在所有代码库中创建相同的分支。您认为子模块是更好的选择还是会增加负担? - user2636464
@user2636464 子模块是一个不错的选择,特别是在即将到来的 Git 2.36 中:https://dev59.com/IJ3ha4cB1Zd3GeqPPBp8#71195953 和新的 git branch --recurse-submodules 命令。 - VonC
感谢您在之前的讨论中多次提到ClearCase,并留下了宝贵的评论,很高兴看到您的回复 :) - user2636464
@user2636464 没错!从2013年到2019年,我至今仍然回答ClearCase相关的问题,尽管频率远不如以前。 - VonC
是的,我们也已经将所有的有关Rational的事物迁移到其他工具上了。 - user2636464

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接