Вы работаете над новой фичей в ветке dev. Внезапно возникает необходимость срочно переключиться на ветку main для быстрого исправления опечатки в файле README.md. У вас есть несколько незакоммиченных изменений: в src/feature.js (неиндексированные) и styles/main.css (проиндексированные). Вы хотите временно сохранить все эти изменения, чтобы потом вернуться к ним в ветке dev.

Правильная последовательность команд для временного сохранения и восстановления изменений с учётом неиндексированных и проиндексированных файлов:

Короткий ответ

Что ответить на собеседовании

Правильная последовательность команд для временного сохранения и восстановления изменений с учётом неиндексированных и проиндексированных файлов:

Подробный разбор

Ответ с пояснениями

Условие

Вы работаете над новой фичей в ветке dev. Внезапно возникает необходимость срочно переключиться на ветку main для быстрого исправления опечатки в файле README.md. У вас есть несколько незакоммиченных изменений: в src/feature.js (неиндексированные) и styles/main.css (проиндексированные). Вы хотите временно сохранить все эти изменения, чтобы потом вернуться к ним в ветке dev.

Какую последовательность команд следует использовать для этого?

git stash save "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop

git stash push -m "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop

git stash && git checkout main && [fix] && git checkout dev && git stash apply

git add . && git stash && git checkout main && [fix] && git checkout dev && git stash drop

git commit -m "Temp commit" && git checkout main && [fix] && git checkout dev && git reset HEAD^

Ответ

Правильная последовательность команд для временного сохранения и восстановления изменений с учётом неиндексированных и проиндексированных файлов:

git stash push -m "WIP on feature"
git checkout main
# Внести исправление в README.md и закоммитить
git checkout dev
git stash pop

Объяснение:

  • git stash push -m "WIP on feature" сохраняет все изменения (индексированные и неиндексированные) с сообщением.
  • Переключаемся на ветку main, делаем исправление и коммит.
  • Возвращаемся в dev и применяем сохранённые изменения командой git stash pop.

Это соответствует второму варианту из списка.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку