Skip to content

git & vimdiff

Denis Kandrov edited this page Sep 20, 2016 · 1 revision

Как можно решать конфликты из консоли

Для этого можно использовать vimdiff. Самый простой способ это запустить команду:

git mergetool -t vimdiff

У вас откроется инструмент vimdiff, в верхней половине будут отображены три панели: LOCAL, BASE и REMOTE. В ниженей половине будет отображаться панель MERGED.

  • LOCAL – версия файла в текущей ветке
  • REMOTE - версия файла из ветки, которую мержили в текущую
  • BASE – версия файла в репозитории, до обоих изменений
  • MERGED – результат слияния, который пойдёт в конечном итоге в репозиторий.

Полезные команды

  • :syntax off - выключить подсветку синтаксиса, бывает удобно
  • :diffget RE - взять изменения из REMOTE. Соответсвенно, LO - LOCAL и BA - BASE
  • :wqa - закончить с разрешением конфликта, сохранить файл и закртыть vimdiff

Также есть полезное сочетание Ctrl+w и потом стрелками, можно перейти к нужной панели.

Дополнительная информация

Дополнительную информацию смотрите в первоисточнике: http://www.rosipov.com/blog/use-vimdiff-as-git-mergetool/