Git命令获取匹配条件的分支列表

Git命令获取匹配条件的分支列表,git,Git,git branch-r--merged master将显示合并到master中的所有远程存储库 git for each ref--format='%(提交者日期)%09%(authorname)%09%(refname)--sort=committer日期按提交者日期排序列出远程git分支。在主回购协议中执行 我想将两者结合起来,然后将所有远程分支合并到特定分支创建者(作者)的特定分支中。 为了以防万一,我想获得由特定开发人员创建的合并到主分支(示例中为master)的所有分支,这样我就可以

git branch-r--merged master
将显示合并到master中的所有远程存储库

git for each ref--format='%(提交者日期)%09%(authorname)%09%(refname)--sort=committer日期
按提交者日期排序列出远程git分支。在主回购协议中执行

我想将两者结合起来,然后将所有远程分支合并到特定分支创建者(作者)的特定分支中。


为了以防万一,我想获得由特定开发人员创建的合并到主分支(示例中为master)的所有分支,这样我就可以知道可以删除的分支,因为它们已经合并了。

git上的两个额外元素,用于每个ref:

  • 通过提供正确的引用模式,可以列出远程分支:

    # this will only list remote branches :
    git for-each-ref [options] refs/remotes/origin
    
  • git for each ref
    还有:

--合并[=]

仅列出其提示可从指定提交访问的引用(
HEAD
如果未指定)


此外,如果要输出
origin/master
而不是
refs/remotes/origin/master
,请在格式规范中使用
%(refname:short)

git for-each-ref \
    --format='%(committerdate) %09 %(authorname) %09 %(refname:short)'\
    --sort=committerdate --merged=master refs/remotes/origin

谢谢你的回答。我必须与创建者一起记录所有分支,但是我如何才能只记录由确定的作者创建的分支呢?我试图在命令中的不同位置安装
--merged
,如下所示:
git for each ref--merged--format='%(committerdate)%09%(authorname)%09%(refname)--sort=committerdate
,但没有起作用。我不熟悉bash脚本“由确定的作者创建”:只查看该分支上最后一次提交的作者可以吗?最后一次提交是合并提交,是吗?(如果问题很明显,我很抱歉)。这对我没用。我需要分支创建者,因此分支的第一次提交将更有意义最后一次提交似乎是合并之前的一次提交。至少这是命令中为不同分支提供的。那对我很好。它需要是来自分支的“一个”提交,最好是第一个,但只要不是合并提交就可以了。这是因为在分支中工作的开发人员不一定是合并到主/主分支的开发人员我怀疑您知道这一点,但以防万一:“作者”和“已合并到特定分支”都是单个提交的属性,而不是分支。“git branch--merged”回答了这样一个问题:“如果我要求从X合并到Y,那么要应用的提交列表是否为空?”您认为“在分支上”的提交是应该包含的提交,如果您在以前的某个时间点询问的话;但现在它们合并了,它们都是同一历史的一部分。