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

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

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

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

Я использую Kdiff3, чтобы решить это.

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

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

3 ответа

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

  1. База - это первый коммит вниз по дереву, от которого откололись две ветви. Это первый общий предок. Часто полезно иметь это, чтобы решить, какой из новых коммитов вы хотите.
  2. Локальный - это ваш локальный файл, который находится в текущей ветке, на которой вы находитесь.
  3. Удаленный - это удаленный файл ветви, в которую вы объединяетесь.

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

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

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

C(Remote) - это то же самое, что и VERSION-12 в вашем случае - это ветвь, в которую вы объединяетесь.

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

Пожалуйста, перейдите по этой ссылке.

Сегодня это также проблема, с которой я сталкиваюсь. Я знаком с Windows git и winmerge, вне сравнения. Теперь мне нужно работать с ubuntu git, командной строкой, kdiff3.

Предположим, что я нахожусь в своей функциональной ветке. Я хочу обновить свою ветку последней версией мастера ветки, поэтому я git pull --rebase. Происходит конфликт, затем инструмент git merge, а затем то, что отображает kdiff3, сбивает меня с толку. Моя фиксация становится «удаленной», новая смена мастера ветки становится «локальной».

Изменить: после двойной проверки на моем личном ПК. Трудно сказать, где проблема. Windows git может быть ошибкой или GitExtension такой умный. ПК моей компании: windows git (командная строка) + BeyondCompare ==> мой удаленный Мой личный ПК: GitExtension + winmerge ==> мой локальный ПК моей бывшей компании (если я хорошо помню): GitExtension + Beyondcompare ==> мой местный

Другие вопросы по тегам