Подтвердить что ты не робот

Как вы видите/показываете разрешение конфликта слиянием git, которое было выполнено, учитывая фиксацию слияния SHA1?

Когда вы разрешаете конфликт, затем выполняете изменения, затем выполняете git diff, он показывает вам два столбца + и -s, один для "наших" и один для "их". Учитывая объединение слияния в истории репо git, как я вижу это разрешение, которое было сделано кем-то другим? В других случаях я видел это раньше (в gitk, я думаю), но я не могу определить его для этого SHA1, который у меня есть.

4b9b3361

Ответ 1

Если вам известен ref, то git show <MERGE_COMMIT> покажет вам выполненное разрешение (если оно есть) для фиксации слияния.

Для журнала используйте git log -p -c или git log -p --cc. Из manpage git log:

   -c
       With this option, diff output for a merge commit shows the differences from each 
       of the parents to the merge result simultaneously instead of showing pairwise 
       diff between a parent and the result one at a time. Furthermore, it lists only 
       files which were modified from all parents.

   --cc
       This flag implies the -c option and further compresses the patch output by 
       omitting uninteresting hunks whose contents in the parents have only two 
       variants and the merge result picks one of them without modification.

Ответ 2

Незначительный bikeshed: вы можете использовать diff3 или kdiff3, чтобы увидеть слияние в обратном направлении, особенно если это было слияние (git style) 'evil', где было добавлено вторичное изменение для разрешения конфликта. (следите за взрывающейся головой, пытаясь понять, как она "отступает" от изменений; -)

Очевидно, что "базовая" фиксация будет объединенной фиксацией.