Просмотр git diff от отдельных родителей

Скажем, у меня возник конфликт слияния, и мне удалось его исправить, но я не пометил как решенный (т.е. я не сделал git add конфликтных файлов пока нет). На данный момент я могу сделать git diff и я покажу, как результирующий файл отличается от каждого родителя, в комбинированном формате diff.

Пока все хорошо. Теперь я хотел отдельно проверить, чем результирующий файл отличается от отдельного родителя. Конечно, для конфликта слияния, в котором участвуют 2 родителя (вишня, ребаз и т. Д.), Я могу использовать git diff --ours или же git diff --theirs, но как мне расширить это на большее количество родителей?

Другими словами, если я получаю конфликт от 3 родителей, можно ли просматривать индивидуальные различия по каждому из родителей?

Кроме того, мое открытие --ours а также --theirs был довольно счастливым; Я не мог найти их использование задокументированным в контексте diff.

1 ответ

Если

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

не делает то, что вы хотите, я думаю, вы должны сделать

git ls-files -u

и использование git show $sha1 > $sha1.txt создать несколько временных файлов и сравнить их.

Смотрите также: Git сравнивает "базовую" версию с "их" версией конфликтующего файла?

Другие вопросы по тегам