如何在git中获取合并请求的所有提交?

3
< p > < code > git show --raw 命令会显示提交哈希是否是由合并生成的:

"Original Answer" 翻译成 "最初的回答"。

$ git show --raw -m 3d1718
commit 3d1718fb99d52d35700b596bac45caffd1af00dc (from 8923654049aa49c4813fa612e4108271e0361240)
Merge: 8923654 3f1a071
...

如果合并是从 fork 到 origin/master,解析输出将显示哪个提交哈希是 origin/master 的 HEAD,哪个提交哈希来自 fork。到目前为止,一切都很好。

一旦我有了来自 fork 的提交哈希,如何生成所有属于该合并的提交哈希列表?历史记录可能如下所示:


Original Answer 翻译成 "最初的回答"
H---->J---->W    origin/master
 \         /
  Q-->R-->T      fork

在这种情况下,将对W的哈希执行git show --raw -m命令,我可以获得T的哈希。但是如何获取Q和R的哈希呢?"最初的回答"。

1
旁注(与你的问题无关,但它对Git有很大解释 :-)):Git维护的内部箭头全部指向后面,例如从W指向J和T,从T指向R等等。Git是向后工作的。每当你想知道:“为什么Git这样做了?”时,请记住:“哦对了...Git是向后工作的” :-) - undefined
我投票关闭这个问题,因为它是一个重复的问题,可以在如何查看合并提交中已合并的提交?找到答案。 - undefined
2个回答

3

Would:

git log master~..fork --oneline

适合您吗?

它记录了fork中的所有提交,但没有记录master~(合并之前的一个提交)。

就提交而言,它应该是:

Original Answer翻译成:"最初的回答"

git log J..T --oneline

-1

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