Ответы:
Git выполняет трехстороннее слияние, находя общего предка (также известного как «база слияния») двух сливаемых ветвей. Когда вы вызываете git mergetool
конфликт, он создает эти файлы, подходящие для загрузки в типичный инструмент трехстороннего слияния. Таким образом:
foo.LOCAL
: «наша» сторона конфликта - то есть ваша ветка ( HEAD
), которая будет содержать результаты слиянияfoo.REMOTE
: «их» сторона конфликта - ветвь, в которую вы сливаетесь HEAD
foo.BASE
: общий предок. полезно для подачи в инструмент трехстороннего слиянияfoo.BACKUP
: содержимое файла до вызова инструмента слияния будет сохранено в файловой системе, если mergetool.keepBackup = true
.
LOCAL
это версия вHEAD
.BACKUP
была той версией, которая была на диске перед вызовомmergetool
. Вероятно, он содержит маркеры конфликта diff3, и вы, возможно, отредактировали его перед вызовомmergetool
.