Sobes.tech
Junior

Dirbate dirbate naują funkciją dev šakelyje. Staiga atsiranda poreikis greitai perjungti į main šaką, kad greitai ištaisytumėte rašybos klaidą README.md faile. Jūs turite keletą necommitintų pakeitimų: src/feature.js (neįvardyti) ir styles/main.css (įvardyti). Norite laikinai išsaugoti visus šiuos pakeitimus, kad vėliau galėtumėte grįžti prie jų dev šakelyje. Kokį komandų seką turėtumėte naudoti tam? 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

Atsakymas iš 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.

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