3
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 并运行。

4

2 回答 2

6

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

 git branch -r --merged master | grep "origin/" 
于 2018-06-26T10:48:07.223 回答
4

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

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

于 2018-06-26T12:27:13.567 回答