Я припускаю, що файли LOCAL і REMOTE - це саме те, що підказує їх назва, але для чого BASE і BACKUP?
Я припускаю, що файли LOCAL і REMOTE - це саме те, що підказує їх назва, але для чого BASE і BACKUP?
Відповіді:
Git виконує тристороннє злиття, знаходячи спільного предка (він же "основа злиття") двох гілок, які ви зливаєте. Коли ви викликаєте git mergetool
конфлікт, він створить ці файли, придатні для подачі в типовий тристоронній інструмент злиття. Таким чином:
foo.LOCAL
: "наша" сторона конфлікту, тобто ваша галузь ( HEAD
), яка буде містити результати об'єднанняfoo.REMOTE
: "їхня" сторона конфлікту - галузь, в яку ви зливаєтесь HEAD
foo.BASE
: спільний предок. корисний для подачі в тристоронній інструмент для злиттяfoo.BACKUP
: вміст файлу перед викликом інструмента злиття зберігатиметься у файловій системі, якщо mergetool.keepBackup = true
.
LOCAL
- версія вHEAD
.BACKUP
була версія, яка була на диску перед тим, як ви викликалиmergetool
. Він, ймовірно, містить конфліктні маркери diff3, і ви, можливо, відредагували його перед викликомmergetool
.