Работа с конфликтами слияния в Git Work Flow - PullRequest
0 голосов
/ 19 декабря 2018

Я собираюсь изложить текущий сценарий, с которым у меня проблемы.

Я создал три ветки тем;Тема-А, Тема-Б, Тема-С.

Я закончил со всеми этими ветками и готов объединить их в следующую ветку, чтобы посмотреть, как они работают вместе.

Теперь все три темы работали над кучей разных файлов, но все они работали в какой-то момент File-A.Когда я иду, чтобы объединить их в следующее, я, очевидно, сталкиваюсь с конфликтом слияния.

Теперь я вижу своими глазами, в чем проблема.Я вижу, что мне нужно изменить в Файле-А, чтобы удовлетворить все три ветви.

Мой вопрос: откуда мне знать, как обращаться с этим Файлом-А в чистом виде? .Мое личное грязное исправление заключается в следующем:

  • Вручную скопируйте все три версии файла A в блокнот и создайте универсальную версию файла A, которая удовлетворяет всем трем изменениям ветки темы.Теперь я могу переместить Файл-А во все три ветви и сделать по одному коммиту в каждой ветви.

Это совсем не похоже на хороший способ, так как я создаю три коммита, по сути, делаято же самое в каждой отрасли.Не говоря уже о том, что diff в каждой ветке будет показывать полное изменение File-A, а не + дополнительные изменения, которые я сделал, или -removals, которые я сделал.

1 Ответ

0 голосов
/ 19 декабря 2018

Другой подход заключается в последовательном объединении каждой вашей ветви.

Активируйте git rerere (как описано здесь *1006*), чтобы записать любое разрешение конфликта слияния, сделанное на FileA.
Таким образом, вы выиграли 'необходимо разрешить дважды один и тот же конфликт.

...