“git diff --base”究竟是做什么的?

min*_*ish 3 git github git-bash

我的笔记说 的功能git diff --base是“查看与基本文件的冲突(两个分支开始转移考虑的文件的点)”,但我无法在没有任何示例的情况下将其可视化。这与普通git diff命令有何不同?

j6t*_*j6t 5

使用git diff --base仅对处于冲突状态的文件有意义,例如,在合并、挑选或变基期间。

当文件发生冲突时foo,索引中记录了三个版本:“基本”版本、“他们”版本和“我们”版本。正如您在笔记中所写,“基本”版本确实是两个分支开始分歧的文件版本。

因此,当您键入

git diff --base foo
Run Code Online (Sandbox Code Playgroud)

您会看到工作foo树中的当前版本与基本版本之间的差异。

同样,您可以使用

git diff --theirs foo
git diff --ours foo
Run Code Online (Sandbox Code Playgroud)

查看与冲突中涉及的其他两个版本的区别。