只获取已经合并为master / develop的远程分支

问题描述 投票:0回答:2
git ls-remote --h <domain_specific_url>.git 'refs/heads/*' 

其中列出了在远程存储库上创建的所有分支。

但我想扩展此命令以使用--merged选项,因为我想获得已经合并为develop / master的分支列表

就像是:

git ls-remote --h <domain_specific_url>.git 'refs/heads/*' --merged develop/master 

这可能吗?

我可以找到很多解决方案,但我不想使用克隆的存储库。我只需要一个获取存储库URL并运行的命令。

git github ls-remote
2个回答
1
投票

如果不进行克隆,就无法做到这一点。这很简单:你从git ls-remote获得的哈希ID唯一地识别提交,但除非你有提交之前的提交,否则判断一些refs/heads/branchnamerefs/heads/master的祖先的唯一方法是它们是否具有完全相同的哈希ID。这仅适用于刚刚合并的分支。

请注意,某些服务器提供了自己的(非Git)接口,并且其中至少有一个(GitHub)向您显示某些分支已“合并”(因此可以删除)。这不是你可以使用git ls-remote访问的东西。


0
投票

好的新东西是git bash还提供了一些有用的In * x实用程序:

 git branch -r --merged master | grep "origin/" 
© www.soinside.com 2019 - 2024. All rights reserved.