Попытка: git mergetool
Это открывает GUI, который ступает Вы посредством каждого конфликта, и Вы добираетесь, чтобы выбрать, как объединиться. Иногда требуется немного ручного редактирования впоследствии, но обычно это достаточно отдельно. Это намного лучше, чем выполнение всего этого вручную, конечно.
Согласно комментарию @JoshGlover:
команда не обязательно открывает GUI, если Вы не устанавливаете тот. Выполнение git mergetool
для меня привело к vimdiff
используемый. Можно установить один из следующих инструментов для использования его вместо этого: meld
, opendiff
, kdiff3
, tkdiff
, xxdiff
, tortoisemerge
, gvimdiff
, diffuse
, ecmerge
, p4merge
, araxis
, vimdiff
, emerge
.
Ниже демонстрационная процедура для использования vimdiff
для конфликтов слияния твердости. На основе [1 126] эта ссылка
Шаг 1 : Выполненный после команд в Вашем терминале
git config merge.tool vimdiff
git config merge.conflictstyle diff3
git config mergetool.prompt false
Это установит vimdiff как инструмент слияния по умолчанию.
Шаг 2 : Выполненный после команды на Шаге 3 терминала
git mergetool
: Вы будете видеть, что vimdiff отображается в следующем формате
╔═══════╦══════╦════════╗
║ ║ ║ ║
║ LOCAL ║ BASE ║ REMOTE ║
║ ║ ║ ║
╠═══════╩══════╩════════╣
║ ║
║ MERGED ║
║ ║
╚═══════════════════════╝
, который Эти 4 представления
ЛОКАЛЬНЫЙ вЂ “, это - файл от текущего ответвления
ОСНОВА †“общий предок, как файл смотрел перед обоими изменениями
УДАЛЕННЫЙ вЂ “файл Вы объединяетесь в свое ответвление
, ОБЪЕДИНИЛ вЂ “результат слияния, это - то, что сохраняется в repo
, по которому можно переместиться среди этих представлений с помощью ctrl + w . Можно непосредственно достигнуть представления MERGED с помощью ctrl + w сопровождаемый j .
[еще 1145] информация о vimdiff навигации здесь и здесь
Шаг 4 . Вы могли отредактировать представление MERGED следующий путь
, Если Вы хотите получить изменения от УДАЛЕННОГО
:diffg RE
, Если Вы хотите получить изменения от ОСНОВЫ
:diffg BA
, Если Вы хотите получить изменения от ЛОКАЛЬНОГО
:diffg LO
Шаг 5 . Сохраните, Выход, Фиксация и Вымойтесь
:wqa
, сохраняют и выходят от vi
git commit -m "message"
git clean
, Удаляют дополнительные файлы (например, *.orig) созданный различным инструментом.
Это можно сделать для многих поставщиков SCM, я предполагаю, что Subversion является реализацией на основе вашего тега.
Вы можете определить свои настройки Subversion в $ user.home / .scm / svn-settings.xml (или [maven home] /conf/.scm/svn-settings.xml, хотя это означает, что они по-прежнему будут видны пользователям системы)
В этом файле вы можете указать свое имя пользователя и пароль для сервера Subversion. Содержимое файла должно выглядеть следующим образом:
<svn-settings>
<user>[svn user]</user>
<password>[svn password]</password>
</svn-settings>
Вы можете определить некоторые другие свойства в этом файле конфигурации. Дополнительные сведения см. В разделе «Конфигурация поставщика» на странице Subversion SCM .
Другие поставщики SCM используют аналогичный подход, например, в CVS настройки хранятся в cvs-settings.xml в том же месте (папка .scm), подробности см. на странице CVS SCM .