Просмотр 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 сравнивает "базовую" версию с "их" версией конфликтующего файла?