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 ls-remote
获得的哈希ID唯一地识别提交,但除非你有提交之前的提交,否则判断一些refs/heads/branchname
是refs/heads/master
的祖先的唯一方法是它们是否具有完全相同的哈希ID。这仅适用于刚刚合并的分支。
请注意,某些服务器提供了自己的(非Git)接口,并且其中至少有一个(GitHub)向您显示某些分支已“合并”(因此可以删除)。这不是你可以使用git ls-remote
访问的东西。
好的新东西是git bash还提供了一些有用的In * x实用程序:
git branch -r --merged master | grep "origin/"