- PVSM.RU - https://www.pvsm.ru -
В составе Midnight Commander, помимо всем известного редактора mcedit, есть не менее замечательная утилита для сравнения файлов «бок о бок» (side-by-side) — mcdiff. В ней можно сравнивать и при необходимости производить полное или частичное слияние в обе стороны.
Историю появления утилиты mcdif когда-то уже рассказывал тут [1] но ближе к делу…
чтобы использовать mcdiff совместно с git необходимо написать скрипт — обёртку diff_wrapper со следующим содержимым
#!/bin/sh
/usr/bin/mcdiff "$1" "$2"
после чего сохранить его. например, в директории ~/bin/ (или в любой для вас удобное место) не забыв дать права на исполнение
chmod +x ~/bin/diff_wrapper
Далее нужно настроить вызов обертки при выполнении команды git diff в файле .gitconfig.
мой файл .gitconfig содержит следующие строки
[diff]
external = /home/holmes/bin/diff_wrapper
[pager]
diff =
так же добавив опцию -w можно отключить показ отличий в пробельных символах
git diff -w
однако mcdiff может и сам позаботиться об этом, достаточно нажать F9 и выбрать нужную опцию. Кроме того доступны другие вариант сравнения:
[x] Игнорировать регистр
[x] Игнорировать табуляции
[x] Игнорировать изменения в пробелах
[x] Игнорировать все пробелы
[x] Не учитывать переводы строк
Кроме того если нужно отказаться от запуска внешней утилиты сравнения необходимо добавить ключ --no-ext-diff:
git diff --no-ext-diff
И конечно же то чем я пользуюсь постоянно это функция частичного слияния файлов, клавиша F5 в mcdiff.
NB: Стоит обратить внимание, что внешняя утилита сравнения будет запущена для каждого файла изменённого в коммите, это не всегда удобно, но тут ничего не поделать, особенно если файлов очень много.
Дополнительную информацию можно почерпнуть на официальной странице руководства git [2]
PS: Дайте знать если найдёте опечатки в тексте или хотите добавить что то к данной заметке…
Автор: smind
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/53154
Ссылки в тексте:
[1] тут: http://habrahabr.ru/post/86756/
[2] странице руководства git: http://git-scm.com/book/ru/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-Git-%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-Git#Внешние-утилиты-merge-и-diff
[3] Источник: http://habrahabr.ru/post/209400/
Нажмите здесь для печати.