仅获取已合并到master / develop中的远程分支

时间:2018-06-26 08:42:39

标签: git github ls-remote

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即可运行的命令。

2 个答案:

答案 0 :(得分:1)

如果不进行克隆,则无法完成 。就是这么简单:您从git ls-remote获得的哈希ID可以唯一地标识提交,但是除非您拥有在这些提交之前出现的提交,否则唯一的方法就是判断某些{{1 }}是refs/heads/branchname的祖先,前提是它们具有完全相同的哈希ID。这只满足了 just 合并的分支。

请注意,某些服务器提供了自己的(非Git)接口,其中至少一个(GitHub)向您显示了某些分支是“合并”的(因此可以删除)。这不是不是的内容,您可以使用refs/heads/master进行访问。

答案 1 :(得分:0)

好消息是 gitbash 还提供了一些有用的Un * x实用程序:

 git branch -r --merged master | grep "origin/"