Что именно делает "git diff --base"? - PullRequest
2 голосов
/ 02 марта 2020

В моих заметках говорится, что функция git diff --base состоит в том, чтобы «просмотреть конфликты с базовым файлом (точка, в которой две ветви начали отклонять рассматриваемый файл)», но я не могу представить это без какого-либо примера. Чем это отличается от обычной команды git diff?

1 Ответ

3 голосов
/ 02 марта 2020

Использование git diff --base имеет смысл только для файлов, которые находятся в конфликтном состоянии, например, во время слияния, выбора вишни или перебазирования.

Когда в файле есть конфликт foo, в индексе записаны три версии: «базовая» версия, «их» версия и «наша» версия. «Базовая» версия действительно является версией файла, в которой две ветви начали расходиться, как вы написали в своих заметках.

Таким образом, когда вы набираете

git diff --base foo

, вы видите Отличие текущей версии foo в рабочем дереве от базовой версии.

Аналогично, вы можете использовать

git diff --theirs foo
git diff --ours foo

, чтобы увидеть разницу с двумя другими версиями, вовлеченными в конфликт .

...