是否可以使用当前和目标分支提交哈希来确定当前分支正在合并到哪个分支?

时间:2021-03-10 16:31:23

标签: git

目前我可以访问两个提交哈希,一个用于当前分支,另一个用于目标分支。但是,我正在尝试获取目标分支的名称,以确定当前分支是合并到“master”还是“main”。

我已经做了一些研究并尝试使用 git branch --contains target_head_commit_hash 但我担心这可能会返回多个分支(不包括我自己的用 '*' 表示)使得很难知道我的分支是哪个合并成。

非常感谢所有帮助,如果您想编写一个小代码片段来展示您的解决方案,我正在使用 Python :)

2 个答案:

答案 0 :(得分:1)

git symbolic-ref -q --short HEAD 是当前分支名称(如果有)。合并是在提交时完成的。更新哪个分支提示与工作本身无关,不需要进行合并,并且 Git 的便捷命令始终使用 HEAD 作为第一个父级。如果 HEAD 是一个符号引用,那么,嘿,presto,那就是“当前分支”。仅此而已。

换句话说:两个提交 ID 足以进行合并,如果您想知道之后更新了什么名称,则它是 HEAD,通常最好将其附加到某个分支名称。

答案 1 :(得分:0)

我知道的一种方法是,您可以在提交消息中知道这一点,它基本上是自动生成的,因此它包含目标和当前分支,例如 - Merge branch 'branch1' into master