有没有一种方法可以查看合并提交的diff,这样你就可以一次看到两个父提交之间的diff?
我并不是说先查看parent 1的差异,然后再查看parent 2的差异。我想要的输出有两个列在左边使用。对于不同于父行的每一行,列1具有+/-符号。父母二人也是如此。
它看起来像这样:
Hello
- World
-- How are you
+ doing?
在这个输出中,任何以两个加号或减号开始的行都意味着合并提交本身引入了除了自动合并之外的更改。
你能在git中做到这一点吗?
编辑:
这里有一个相关的问题:How do you see / show a git merge conflict resolution that was done, given a merge commit SHA1?
我的用例与这个问题相同:我想查看解决合并冲突后所做的更改。
2条答案
按热度按时间3zwtqj6y1#
git show
似乎做了我想做的事情。在我做的git repo测试中:https://github.com/Thr4wn/test,下面是git show的输出:
这就是我记忆中曾经存在的东西
但是,
git show
(没有-m
标志)仅显示与双亲不同的更改。对我来说,这就是我所追求的。如果没有合并冲突,那么git show
可能没有diff。iqjalb3h2#
您正在查找组合的diff格式。它恰好是
git show
as you discovered的默认格式,但您可以通过任何命令的diff输出获得它。文档摘录如下:组合diff格式
任何差异生成命令都可以使用
-c
或--cc
选项来在显示合并时生成组合差异。这是显示git-diff[1]或git-show[1]合并时的默认格式。还请注意,您可以为这些命令中的任何一个给予适当的--diff-merges
选项,以强制生成特定格式的差异。“combined diff”格式如下所示: