将冲突的文件的“基本”版本与“其”版本进行比较吗?

问题描述 投票:15回答:2

给出有冲突的文件foo.txt,如何告诉git diff显示文件的基本版本与文件“其”版本之间的更改?

我可以通过git show :1:foo.txtgit show:3:foo.txt看到每个版本-是否有一种比较两个版本的简单方法?

git merge-conflict-resolution
2个回答
20
投票

您可以使用文档中指定的gitrevision表示法:

:[:] ,例如:0:README,:README

冒号,可选地后跟阶段号(0到3),冒号后跟路径,在给定路径的索引中命名blob对象。缺少的阶段号(及其后的冒号)将命名为阶段0条目。在合并过程中,阶段1是共同祖先,阶段2是目标分支的版本(通常是当前分支),阶段3是要合并的分支的版本。

因此,在您的特定情况下

git diff :1:foo.txt :3:foo.txt

2
投票

只需键入git diff,它将仅显示冲突。

进一步阅读:Advanced Merging

注意--base--theirsdiff自变量

© www.soinside.com 2019 - 2024. All rights reserved.