... Теперь, когда я выхожу из интерактивного режима, перебазирование завершается неудачно из-за конфликтов.
Это еще не не удалось . остановлено после применения нуля или более команд pick
.
Команда git status
в любом современном Git скажет вам, что вы находитесь в интерактивном ребазе, которыйна данный момент еще не закончил.(В старые добрые времена git status
не говорил вам таких вещей, и вы просто должны были знать или догадываться.)
$ git log
не показывает никаких коммитов ветви функций.
Это говорит о том, что проблема возникла во время самого первого вишневого пика, так что ни один из выбранных коммитов еще не находится в незавершенной, строящейся ветке.То есть, ноль из ваших четырех pick
до сих пор удалось.pick 05973319
находится в процессе разработки, и git status
сообщит вам, какие файлы требуют ручного массажа, чтобы исправить их, после того, как Git оставил вам беспорядок.
Ваша задача - исправить их - возможно, используябеспорядок, оставленный в вашем рабочем дереве, возможно, с использованием git mergetool
и некоторого любимого инструмента слияния;метод зависит от вас.Но вы должны решить проблемы.Исправив их, и, если необходимо, запустите git add
, 1 ваш git status
скажет вам, что все конфликты исправлены, и вы должны запустить git rebase --continue
, чтобы ребаза завершила этот выбор вишни и пошла дальше.к следующему.Следующий может иметь или не иметь конфликты.Если этого не произойдет, Git завершит это pick
самостоятельно и перейдет к третьему, в противном случае все это повторяется.
Этот тип перебазирования нормален , хотя какобычно это зависит от ваших рабочих схем и входных файлов.Некоторые люди сталкиваются с этим постоянно, а некоторые почти никогда.
1 Если вы используете git mergetool
, он обычно будет делать соответствующие git add
с.Я предпочитаю избегать git mergetool
: вместо этого я устанавливаю merge.conflictStyle
на diff3
и обычно просто использую мой редактор в беспорядке, оставленном в рабочем дереве.Установка стиля diff3
изменяет размеченный конфликт и включает ввод first или merge-base.Стиль по умолчанию оставляет только секции second , --our
и третий --theirs
.Исходный код слияния, от которого расходились наша и их версии, поэтому невидим, и это иногда делает конфликты очень трудными для понимания.Но это все дело личного вкуса.