如何显示合并提交中所做更改的差异?

Ste*_* Lu 5 git

当我写一堆代码时,我没有意识到我正处于合并的中间.现在git log -p不会向我展示这种变化的差异(它被自动提交为合并提交).

如何让它显示在我的日志差异历史记录中?

Joh*_*ter 7

有点令人失望的是,Git没有向您展示合并的补丁-p.部分原因是由生成的补丁-p是统一的差异,它是从一个基础和一个目标修订创建的.合并有两个基础,因此统一差异并不代表需要进行的更改.

所以有两种方法可以获得你想要的东西. git log -p -c将在合并提交中显示N个差异,其中N是合并父级的数量.或者,您可以使用git log -p --cc并查看更加紧凑的差异形式.它看起来很像统一差异,但可以处理合并有多个父项的事实.FWIW --cc代表"紧凑组合".紧凑的组合输出是您在运行git show SHA1相关提交时所看到的.

还有一个小注意事项:如果在合并提交中没有进行编辑,那么您将不会在git log -p --cc输出中看到差异.此外,默认情况下,目前无法进行差异显示合并提交.如果您需要简短且令人难忘的东西,最好的选择是使用别名.