2015-04-17 3 views
0

У меня конфликт слияния, и когда я делаю git diff, мне показан diff в комбинированном формате. Документация для git help diff, где объясняется объединенный формат diff, упоминается, что я мог бы использовать -m с любой из команд diff. Но git diff не принял бы -m. git help diff-tree однако документы -m опция.Git diff с -m

Я пытаюсь просмотреть diffs файл между каждым родителем слияния, по одному, потенциально используя переключатель -m. Да, я мог бы использовать команды, такие как git diff :{1,2}:/path/to/file или git diff :{1,3}:/path/to/file, но, учитывая комбинированный выходной сигнал, как использовать переключатель -m?

+1

Что вы подразумеваете под «не принимаете опцию -m»? Что происходит и что вы ожидаете? – Behe

+0

О, хорошо, 'Обратите также внимание, что вы можете дать параметр -m любой из этих команд, чтобы заставить генерировать различия с отдельными родителями слияния, заставило меня поверить, что я могу выбирать отдельных родителей при просмотре конфликтов слияния. Теперь я понимаю, что он не будет использовать параметры, но используется для просмотра различий в коммандах слияния! – Jeenu

ответ

0

Чтобы уточнить свой вопрос: в -m флаг git diff или git show, когда применяется к слиянию фиксации, индивидуально перечислены, как это слияние фиксации отличается от каждого из своих родителей, один за другим.

Скажем, если у Вас есть макет, как показано ниже:

--X--A--, 
     \ 
    --X--B--M-- 
     /
--X--C--' 

git show -m M Объединяет выходы git diff A M, затем git diff B M и git diff C M. git show M показывает информацию о различиях, но в комбинированном формате. Флаг -m также полезен в случаях, когда git полностью отключает выход diff