Каково поведение git во время конфликтов перебазирования при выборе одного, но нуждающегося в обоих? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь понять git rebase, но у меня проблемы.Я прочитал несколько постов и документации на форуме, чтобы узнать, смогу ли я определить это, но поведение мне кажется странным, поэтому я не могу обернуть голову вокруг этого.

Допустим, у меня есть файл с именем test.txt.

У меня есть ветвь, Branch A:

text.txt в Branch A:

Hello, World!

Good... Thanks for asking!

и в Branch B файл text.txt выглядит следующим образом:


-> How are you, robot?

Мне нужны оба изменения (давайте представим, что это не простое исправление с копированием и вставкой ... Мне нужноперебазировать).

Итак ...

git checkout Branch B

git rebase Branch A

И тогда возникает конфликт слияния.Он спрашивает меня, хочу ли я оставить тот или другой ...

<<<<<<<<<<<<<<<<< 1234123hpdfaskdjf123234
Hello, World!

Good... Thanks for asking!
==========

-> How are you, robot?

>>>>>>>>>>>>>>>> some commit message

1) Что мне делать, если мне нужны оба?2) Я использую только один или другой, или я использую комбинацию обоих?3) Если я использую один, другой блок будет доступен позже?

1 Ответ

1 голос
/ 09 апреля 2019

1) Если вам нужны оба, просто удалите конфликтующие отметки <<<<<, =====, >>>>> и оставьте все в покое.

2) Это зависит от того, какие строки вы хотите сохранить, а какие удалить. Это не или-или.

3) Другой блок недоступен из коммита, созданного после разрешения конфликтов. Но он все еще существует в постороннем коммите.

На самом деле, вы даже можете удалить все строки и ввести что-то совершенно новое. Какое содержание должно быть зафиксировано, зависит от ваших реальных потребностей. Конфликтующие знаки должны быть всегда удалены.

...