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

Режимы git reset

Вопрос

Последний коммит получился неудачным, ты хочешь его «раскоммитить», чтобы изменения остались в индексе (staged) и их можно было сразу закоммитить заново. Какая команда?

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

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

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

Коротко

Правильный ответ: git reset --soft HEAD1. --soft двигает только указатель ветки: индекс и рабочая копия не меняются, поэтому изменения из коммита оказываются staged. - --hard выбросит изменения и из индекса, и с диска. - git reset HEAD1 это режим --mixed по умолчанию: изменения…

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

  1. git reset --hard HEAD~1
  2. git reset HEAD~1
  3. git revert HEAD
  4. git reset --soft HEAD~1правильный ответ

Разбор

--soft двигает только указатель ветки: индекс и рабочая копия не меняются, поэтому изменения из коммита оказываются staged.

  • --hard выбросит изменения и из индекса, и с диска.
  • git reset HEAD~1 это режим --mixed по умолчанию: изменения останутся в файлах, но не в индексе, придётся снова делать git add.
  • revert не раскоммичивает, а добавляет ещё один коммит, отменяющий последний.

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

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