如何列出存在于“side”遥控器但不在“main”遥控器中的分支?
例如,如果我有一个我开发的“主”上游存储库,以及我在完成工作日之后备份我的工作的副存储库 - 现在我想要删除不存在的侧存储库中的分支 如何列出存在于“side”遥控器但不在“main”遥控器中的分支?
答案 0 :(得分:1)
更新 - 收集了来自torek的反馈意见 更新2 - 建议编写脚本的小但可能重要的更改
好吧,git并没有考虑多个回购中存在的分支。您在本地仓库中有分支,并且您在任何给定的远程中都有分支的快照...并且本地分支可能与远程分支的名称相同,但它仍然不是"同一个分支" git。
只有跟踪提供了一种错觉,即#34;同一个分支"在两个回购。 (并且仅作为惯例,通常将本地分支命名为与远程分支相同。)这也是有限的,因为您不能有一个本地分支跟踪两个远程分支...
这是一个很长的说法,我不认为git可以做你所要求的;你可能需要以某种方式对一些git输出进行后期处理。
您可以通过说
来获取遥控器中的分支列表git for-each-ref refs/remotes/<remote-name>
您可以使用cut来获取基本分支名称(cut -d\/ -f 4-
)。 (请注意尾随-
,这在/仅当您的分支名称包含/
时很重要。)然后排序。然后转到comm
以查看哪些行显示在两者中,或只显示在一行中。