【问题标题】:How can I get the last merged branch name in git如何在 git 中获取最后一个合并的分支名称
【发布时间】:2021-06-19 18:04:07
【问题描述】:

如何从远程获取 git 中最后合并的分支名称

试过

git log --first-parent --merges -1 --oneline

但没有得到分支名称

请帮忙

【问题讨论】:

  • 我同意这样的回答:“如果您认为这里需要一个分支名称,那么您可能做错了什么。”如果您解释了为什么要知道分支名称,这可能会有所帮助,也许我们可以提供另一种方法来完成您所需要的。

标签: linux git github gitlab


【解决方案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 中,依赖它们是不明智的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 2023-03-09
    • 2010-12-15
    • 2017-07-12
    相关资源
    最近更新 更多