четверг, 26 февраля 2015 г.

Инструменты для работы с Git – DiffMerge

Скачиваем тут версию под вашу ОС.

DM0001
Скачиваем архив zip и разархивируем. Я разархивировал в каталог C:\Program Files\DiffMerge\

Далее все настройки привожу относительно этого пути.

Идем в этот каталог и запускаем sgdm.exe, чтобы настроить программу, а верней кодировки. На мой взгляд это, мягко, говоря не самая удобная программа для просмотра изменений и слияния, так как сама не может определять кодировку файла, а настройки на различные кодировки сделаны не очень удобно. Но это на мой взгляд, может быть вам эта програ понравится.

DM0002

Делай раз, делай два, делай три

DM0003

Делай раз, делай два, делай три

DM0004

Можно, конечно настроить одну кодировку по умолчанию для всех файлов и снести все правила в списке, но так как я тут привожу пример текстового файла то поправил именно эти установки.

Все, с настройками проги все. Теперь надо добавить в файл конфига строчки запуска DiffMerge.

[diff]
        tool = p4m
        tool = kdiff3
        tool = dm

[difftool "p4m"]
        cmd = "p4merge.exe $LOCAL $REMOTE"

[difftool "kdiff3"]
        path = C:/Program Files/KDiff3/kdiff3.exe

[difftool "dm"]
 cmd = C:/Program\\ Files/DiffMerge/sgdm.exe $LOCAL $REMOTE

[difftool]
        prompt = false
        keepBackup = false
        trustExitCode = false

[merge]
        tool = p4m
        tool = kdiff3
        tool = dm

[mergetool]
        prompt = false
        keepBackup = false
        keepTemporaries = false

[mergetool "p4m"]
        cmd = "p4merge.exe $BASE $LOCAL $REMOTE $MERGED"
        trustExitCode = true
 

[mergetool "kdiff3"]
         path = C:/Program Files/KDiff3/kdiff3.exe

[mergetool "dm"]
 cmd = C:/Program\\ Files/DiffMerge/sgdm.exe -merge -result=$MERGED $LOCAL $BASE $REMOTE

Ну и теперь начинаем тестить тулзу. Даем команду

$ git difftool c258082 ffd6b37 --tool=dm --cc test.txt

DM0005

И получаем всплывшее окошко DiffMerge

DM0006

И так сравнение работает. Теперь проверим слияние. Даем команды

$ git merge newbranch
$ git mergetool --tool=dm


DM0008

И получаем окошко DiffMerge для разруливания конфликта слияния с аннотацией о конфликтах

DM0007

Теперь разрешаем конфликт. Это делается в среднем окне (как по мне так это не очень удобно).

DM0009

Жмем сохранить и выходим из проги. Все конфликт разрешен

DM0010

Комментариев нет:

Отправить комментарий