Git Bash - 查找从已删除分支合并的提交

Git Bash - Find commits merged from a deleted branch

git 杂技演员我们开始了!

我们有一个分支 X,它被 合并 删除 。现在我们需要在 master 中找到所有作为该分支 X 的拉取请求合并的一部分添加的提交。

在物理上,我们正在寻找 master 中的所有提交,源是已经删除的分支 X

我在 git 文档中没有看到任何具体内容,并且已经在堆栈上搜索了一段时间但没有成功。最好的办法是为更改设置一个 --diff

我们该怎么做?

如果您有合并提交的 ID(我们称之为 <merge>),您可以让 git 为您计算合并基础:

git log <merge>^..<merge>^2

如果您想查看对 master 进行了哪些更改的全局差异:

git diff <merge>^...<merge>^2  # three dots

合并提交有 2 个父级,第一个父级应该是 master 分支的先前状态,第二个父级是合并时功能分支的状态。

如果 name 指向一个提交(任何东西都有效:提交 ID、分支名称、标签名称、HEAD~10 ...),那么:

  • name^ 指向它的第一个父节点
  • name^2 指向其第二个父级(如果它有一个:如果 name 不是合并提交,它将出错)