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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在git中获取合并请求的所有提交?相关的知识,希望对你有一定的参考价值。

git show --raw命令将显示是否从合并生成了提交哈希:

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

在合并来自fork到origin / master的情况下,解析输出将揭示哪个提交哈希是origin / master的HEAD以及哪个提交哈希来自fork。到现在为止还挺好。

一旦我从fork获得了提交哈希,我将如何为该合并的所有提交生成哈希列表?历史可能如下所示:

H---->J---->W    origin/master
          /
  Q-->R-->T      fork

在这种情况下,git show --raw -m命令将在W的哈希上执行,我可以得到T的哈希值。但是如何得到Q和R的哈希?

答案

将:

git log master~..fork --oneline

适合你?

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

在提交方面,它将是:

git log J..T --oneline
另一答案

git log $(git merge-base --octopus $(git log -1 --merges --pretty=format:%P)).. --boundary Show commits involved in a prior git merge

以上是关于如何在git中获取合并请求的所有提交?的主要内容,如果未能解决你的问题,请参考以下文章

如何修改git已经提交的信息及合并多次提交

如何在 Git 中获取合并提交的父项?

git tortoise 创建拉取请求 有啥用

git合并其中一个提交

git项目管理-合并请求

Git不同项目代码分支合并,且仅合并特定提交