Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Git合并中查找更改_Git_Version Control_Merge - Fatal编程技术网

在Git合并中查找更改

在Git合并中查找更改,git,version-control,merge,Git,Version Control,Merge,使用git对分,我发现了罪魁祸首提交-它是一个合并提交(我在主分支上) 我试图隔离错误代码,但合并包含来自合并分支的一些提交,我不知道如何查看合并提交和之前提交(主文件中的前一个工作提交)之间的完整更改 在GIT中有这样做的方法吗?您可以与家长进行GIT差异测试 第一个父级使用SHA1^2,第二个父级使用SHA1^2: git diff mergeSHA1^ mergeSHA1 git diff mergeSHA1^2 mergeSHA1 您可以查看的文档以了解更多详细信息显示提交之间的差异。

使用git对分,我发现了罪魁祸首提交-它是一个合并提交(我在主分支上)

我试图隔离错误代码,但合并包含来自合并分支的一些提交,我不知道如何查看合并提交和之前提交(主文件中的前一个工作提交)之间的完整更改


在GIT中有这样做的方法吗?

您可以与家长进行GIT差异测试

第一个父级使用SHA1^2,第二个父级使用SHA1^2:

git diff mergeSHA1^ mergeSHA1
git diff mergeSHA1^2 mergeSHA1
您可以查看的文档以了解更多详细信息

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

git diff[--options][--][…]
这是为了查看两个任意变量之间的变化

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

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

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

参数的顺序是向后的,但命令基本上是正确的。使用顺序
git diff mergeSHA1 mergeSHA1^
将显示与合并提交和第一个父级的更改相反的更改。我认为原始海报需要未反转的更改,您可以通过
git diff mergeSHA1^mergeSHA1
获得。您的回答基本正确,但您可能希望将参数的顺序更改为
,因为原始顺序将显示相反的更改。@coldhawaian已修复,谢谢。我第一次试的时候总是做不好:P
git diff <sha1 of the commit to compare to> <sha1 of merge commit>