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