2013-05-15 1 views

ответ

8

Посмотрите на хэш (или метки) от слияния фиксации (коммит, который имеет несколько родителей) и сделать:

git diff hash hash^1 hash^2 

Это выведет 3 путь дифференциала изменений.

hash^ (или hash^1) ссылается на первый родительской фиксацию hash
hash^2 ссылок вторых родительской фиксации hash

+0

_ Кроме того, что 'git diff --cc hash hash^1 hash^2' будет форматировать diff так же, как отображает его gitk'. Не уверен, какой формат вывода предпочтительнее OP, хотя ... Фактически, неважно ... 'git diff' делает это по умолчанию, кажется, когда вы даете ему три хэша ... – twalberg

+1

спасибо! сделал псевдоним: 'dc ="! f() {HASH = $ 1; shift 1; git d --cc $ HASH $ HASH^1 $ HASH^2 $ @;}; f "' – brauliobo

+0

Когда я использую эту строку, Я получаю 'fatal: неопределенный аргумент 'hash': неизвестная ревизия или путь не в рабочем дереве. Используйте '-' для разделения путей от ревизий, например: git [ ...] - [ ...]> ' – HelloGoodbye

1

Если вы используете стандартный инструмент gitk и нажимаете на фиксацию слияния, в нижней левой панели отображаются разрешения конфликтов.

+0

как gitk делает это? – brauliobo

+0

@brauliobo Я бы предположил, выполнив 'git diff hash hash^1 hash^2', где' hash' является хешем коммита слияния. –