Что A (базовый), B (локальный), C (удаленный) в KDiff3 привязан к решателю конфликтов git?

Предположим, у меня есть ветка git FIX-8834 и ветка VERSION-12.

Я хочу объединить FIX-8834 с VERSION-12 в git.

Git говорит, что есть конфликт.

Я использую Kdiff3 для решения этой проблемы.

Откроется KDiff3 и будут открыты 3 файла: A (базовый), B (локальный) и C (удаленный). Какую букву имеет FIX_8834, ВЕРСИЯ-12 и откуда берется третий файл?

Есть ли способ отобразить имена людей для файлов в KDiff3?


person Tomasz Smykowski    schedule 10.09.2018    source источник
comment
Возможный дубликат Какие создаются файлы BACKUP, BASE, LOCAL и REMOTE при конфликте слияния git?   -  person CodeCaster    schedule 10.09.2018


Ответы (2)


Слова должны быть удобочитаемыми для человека:

  1. Base — это первый коммит вниз по дереву, от которого отделились две ветви. Это первый общий предок. Часто бывает полезно иметь это, чтобы решить, какой из новых коммитов вам нужен.
  2. Local — это ваш локальный коммит, тот, который находится в текущей ветке.
  3. Remote — это удаленная фиксация ветки, которую вы объединяете с локальной.

Обратите внимание, что при перебазировании вы фактически меняете свое местонахождение в некотором смысле, чтобы стоять на новой базе. Итак, при перебазировании:

  1. local — это ваша локальная фиксация, которую вы перебазируете.
  2. Remote — это удаленная фиксация, которую вы перемещаете поверх локальной фиксации.
person kabanus    schedule 10.09.2018
comment
справедливо ли сказать, что если вы сталкиваетесь с конфликтом слияния при выполнении перебазирования, локальная на самом деле является веткой, на которую вы перебазируете (например, master), а удаленная — это ветка, которую вы воспроизводите поверх (например, ваша функция) - person chrispepper1989; 27.10.2020
comment
@chrispepper1989 Действительно, это хорошая мысль, спасибо. Я добавил это к ответу. - person kabanus; 27.10.2020
comment
это туз, спасибо, я добавляю этот ответ в закладки, потому что я всегда забываю! - person chrispepper1989; 27.10.2020

GIT выполняет слияние тремя способами. Он находит базу слияния двух используемых вами веток. когда вы делаете git merge, он генерирует три разных типа файлов.

A(базовый), B(локальный) и C(удаленный), где

B(LOCAL) в вашем случае совпадает с FIX-8834 — это ваша ветка, которую вы объединяете.

C(Remote) в вашем случае такой же, как ВЕРСИЯ-12 — это ветка, с которой вы объединяетесь.

A(base) – это не что иное, как незавершенное слияние, в котором конфликты отмечаются в зависимости от используемого вами инструмента.

Чтобы узнать больше, перейдите на эту ссылка.

person Dheeraj Kumar    schedule 10.09.2018
comment
Кажется, у вас есть локальное и удаленное переключение. - person Yster; 04.06.2021