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