Sobes.tech
Junior

Pracujesz nad nową funkcją w gałęzi dev. Nagle pojawia się konieczność szybkiego przełączenia na gałąź main, aby szybko poprawić literówkę w pliku README.md. Masz kilka niezacommitowanych zmian: w src/feature.js (niezacommitowane) i styles/main.css (zacommitowane). Chcesz tymczasowo zapisać wszystkie te zmiany, aby potem wrócić do nich w gałęzi dev. Jaką sekwencję poleceń powinieneś użyć do tego? 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^

sobes.tech AI

Odpowiedź od AI

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

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.

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