git ls-remote --h <domain_specific_url>.git 'refs/heads/*'
其中列出了在远程存储库上创建的所有分支。
但是我想扩展此命令以使用--merged
选项,因为我想获取已合并到开发/主的分支列表
像这样:
git ls-remote --h <domain_specific_url>.git 'refs/heads/*' --merged develop/master
这可能吗?
我可以找到许多解决方案,但我不想使用克隆的存储库。我只需要一个采用存储库 URL 并工作的命令。
好消息是gitbash还提供了一些有用的 Un*x 实用程序:
git branch -r --merged master | grep "origin/"
如果不进行克隆,就无法完成此操作。 就这么简单:你从git ls-remote
获得的哈希 ID 唯一标识提交,但除非你有在这些提交之前出现的提交,否则判断某些refs/heads/branchname
是否是refs/heads/master
祖先的唯一方法是它们是否具有完全相同的哈希 ID。 这只够刚刚合并的分支。
请注意,某些服务器提供自己的(非 Git(接口,并且其中至少有一个 (GitHub( 显示某个分支已"合并"(因此可以删除(。这不是您可以使用git ls-remote
访问的内容。