Dagens lärdom: git stash
2014-03-31
Idag kom jag till ett läge där jag ville dra in ändringar som gjorts på origin/master. Jag hade dock gjort ändringar lokalt som jag inte ville commit:a eftersom jag inte visste om de ledde åt rätt håll eller inte. Gjorde git fetch && git rebase origin/master
trots att jag visste att git skulle vägra tt utföra rebase:en. I felmeddelandet som git gav ifrån sig stog det något om "stash". Hmm. Ytterligare ett git-kommando som jag inte vet något om. Man är ju inte direkt någon git-expert... Men man kan ju lära sig...
Googlade lite och hittade lite info om git stash. Det visade sig att git stash låter en spara undan ett ocommittat tillstånd på en stack och återställa branchen till ett tillstånd som om man gjort revert. Sedan kan man göra t.ex. rebase eller merge för att synka branchen med t.ex. origin/master. När detta är gjort kan man återställa de ocommittade ändringarna genom kommandot git stash apply. Lysande! Det var precis det jag ville göra.
Process:
- Kolla att ocommittade ändringar att stasha finns:
git status - Spara undan ocommittade ändringar. Detta kan göras flera gånger för att spara undan olika tillstånd.
git stash
- Inspektera stash-stacken:
git stash list
- Dra in ändringar från origin/master:
git fetch && git rebase origin/master
- Lägga på de ocommittade ändringarna:
git stash apply
- Kolla att de ocommittade ändringarna är pålagda:
git status