Выбор ответа Middle Git обновлено

Как завершить rebase после конфликта

Вопрос

Во время git rebase main возник конфликт в config.ts. Ты поправил файл и убрал маркеры. Что дальше?

<<<<<<< HEAD
const limit = 10;
=======
const limit = 20;
>>>>>>> 3c1e2f0 (raise limit)

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: git add config.ts, затем git rebase --continue. Git узнаёт о разрешении конфликта по индексу: файл надо добавить через git add, затем продолжить перенос оставшихся коммитов командой git rebase --continue. - Ручной commit посреди rebase создаст лишний коммит, а rebase останется…

Варианты ответа

  1. git add config.ts, затем git rebase --continueправильный ответ
  2. git commit -am "merge", затем git push
  3. git merge --continue, затем push
  4. Ничего: Git сам заметит, что маркеров больше нет

Разбор

Git узнаёт о разрешении конфликта по индексу: файл надо добавить через git add, затем продолжить перенос оставшихся коммитов командой git rebase --continue.

  • Ручной commit посреди rebase создаст лишний коммит, а rebase останется незавершённым.
  • merge --continue для merge, сейчас идёт rebase.
  • Git не следит за содержимым файла сам, без git add конфликт считается неразрешённым.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.