как использовать meld для просмотра удаленных изменений. Использование git как dvcs

Я использую GIT в качестве DVCS в Ubuntu 10.04. Просто бегаю:

meld .

в вашем текущем рабочем каталоге замечательно ... показывает, какие различия от вашей рабочей папки до последней фиксации.

Я хотел бы иметь возможность делать то же самое при других обстоятельствах. Скажем, я хочу просмотреть изменения после получения удаленной ветки? Как бы я это сделал? Как я могу просмотреть различия в объединении двух локальных веток ... Я хотел бы знать, есть ли относительно простой способ сделать это.

Спасибо.


person ftravers    schedule 10.03.2011    source источник


Ответы (1)


Если вам нравится объединение для сравнения файлов и разрешения слияний, вам, вероятно, следует установить для параметров конфигурации diff.tool и merge.tool значение meld, например

git config diff.tool meld

Затем вы можете использовать git difftool master origin/master для просмотра различий между вашей локальной master и последней загруженной версией master из origin. Однако это покажет различия только по одному файлу за раз - вам нужно выйти из объединения и нажать Enter, чтобы увидеть изменения в следующем файле. Если вы хотите увидеть все различия между двумя ветвями в слиянии, используя его рекурсивное представление, я боюсь, что нет однострочного способа сделать это.

Однако я написал короткий сценарий в ответ на очень похожий вопрос, который берет две ссылки (например, две ветки), распаковывает их во временные каталоги и запускает meld для сравнения двух:

В любом случае, если вы только что запустили git fetch, вы можете сравнить различия между вашим master и версией из origin, используя этот сценарий:

meld-compare-refs.py master origin/master

... или сравните две локальные ветки с:

meld-compare-refs.py master topic1
person Mark Longair    schedule 10.03.2011
comment
Похоже, что git-meld похож на ваш скрипт (с использованием perl вместо python). - person idbrii; 06.08.2012