仅获取已合并到主/开发中的远程分支


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访问的内容。

最新更新