0

使用 git bisect 我找到了罪魁祸首提交 - 这是一个合并提交(我在主分支上)

我正在尝试隔离错误代码,但合并包含来自合并分支的一些提交,我不知道如何查看合并提交与其之前的提交之间的完整更改(主中的先前工作提交)

有没有办法在 GIT 中这样做?

4

2 回答 2

1

你可以和父母做一个 git diff 。

第一个父母用 SHA1^ 给出,第二个父母用 SHA1^2 给出:

git diff mergeSHA1^ mergeSHA1
git diff mergeSHA1^2 mergeSHA1

您可以查看git diff的文档以获取更多详细信息

于 2013-05-22T07:14:02.770 回答
1

git diff显示提交之间的差异。您想要的变化可能是这样的:

git diff [--options] <commit> <commit> [--] [<path>…]

这是为了查看任意两个<commit>之间的变化。

因此,对于您的情况,将合并提交的 sha1 用于另一个,并将您想要将其与另一个进行比较的提交的 sha1 使用。

git diff <sha1 of the commit to compare to> <sha1 of merge commit>

您还可以使用^运算符与合并提交的父级进行比较。sha1^将是第一个父母,sha1^2将是第二个,如此所述。

于 2013-05-22T07:16:29.440 回答