只获取已经合并为master / develop的远程分支

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了只获取已经合并为master / develop的远程分支相关的知识,希望对你有一定的参考价值。

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/branchnamerefs/heads/master的祖先的唯一方法是它们是否具有完全相同的哈希ID。这仅适用于刚刚合并的分支。

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

另一答案

好的新东西是git bash还提供了一些有用的In * x实用程序:

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

以上是关于只获取已经合并为master / develop的远程分支的主要内容,如果未能解决你的问题,请参考以下文章

如何将开发分支重置为master

git合并某次提交到某个分支

git 如何把develop分支代码合并到master主分支

在 Artifactory Release Staging 之后使用 Jenkins 将 git develop 分支合并到 master

gitflow的使用

git开发流程