检查一个提交是否已经合并到另一个分支,并且如果是的话,合并提交是什么?

3
假设一个Git仓库有两个分支,master和test。commitA是在test分支上进行的。我想检查以下内容:
  1. commitA是否已合并到master分支中?
  2. 如果是,请问合并提交的SHA是多少?
我希望以编程方式进行这些检查(而不是使用gitk)。

2
第一个:git merge-base --is-ancestor 第二个:我不知道有什么简单的答案,除非使用脚本。 - Andrew C
似乎是与 https://dev59.com/oofca4cB1Zd3GeqPhE0p#28305568 重复。 - Matthieu Moy
2个回答

0

有一个名为git-when-merged的工具,专门为此用例而设计。安装后,

git when-merged commitA master

应该可以解决问题。


-1

通过您的示例,分支test现在位于提交commitA

因此,您可以通过以下命令检查commitA已合并到master的位置:

git branch --contains test

这应该列出包含commitA的所有分支,请检查是否在列表中包含master

要获取commitA的SHA,请键入:

git rev-parse test

合并提交的SHA和commitA本身的SHA相同。


提交A的SHA和合并提交的SHA肯定不相同。 - Andrew C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接