如何在 git 中获取最后一个合并的分支名称
Posted
技术标签:
【中文标题】如何在 git 中获取最后一个合并的分支名称【英文标题】:How can I get the last merged branch name in git 【发布时间】:2021-06-19 18:04:07 【问题描述】:如何从远程获取 git 中最后合并的分支名称
试过
git log --first-parent --merges -1 --oneline
但没有得到分支名称
请帮忙
【问题讨论】:
我同意这样的回答:“如果您认为这里需要一个分支名称,那么您可能做错了什么。”如果您解释了为什么要知道分支名称,这可能会有所帮助,也许我们可以提供另一种方法来完成您所需要的。 【参考方案1】:这是您需要给出的命令(将分支名称从 origin/master 更改为您正在检查合并的任何分支):
git log --merges origin/master --oneline --grep='^Merge' -1 | grep -oe "[^']*[^']" | sed -n 2p
【讨论】:
git log --merges origin/master --oneline --grep='^Merge' -1 7051bf7 (HEAD -> master, origin/master, origin/HEAD) 合并到major/1 (拉取请求#3)没有得到分支名称【参考方案2】:一般来说,你不能。
合并提交的提交消息可能具有 merge branch foo 或 merge branch foo of someurl 形式的文本,但要阅读该消息,您必须从远程获取提交。即便如此,也不能保证分支 foo 不再存在,或者如果它确实存在,该名称意味着什么。合并确实通过提交哈希 ID 起作用,而不是通过分支名称;分支名称可能会消失。
如果您认为这里需要一个分支名称,那么您可能做错了什么。 do 分支名称在 other 版本控制系统中有意义,但在 Git 中,依赖它们是不明智的。
【讨论】:
以上是关于如何在 git 中获取最后一个合并的分支名称的主要内容,如果未能解决你的问题,请参考以下文章