O que são realmente git stashes?

Git stashes são, na verdade, apenas commits no repositório git local.

Eu uso muito git stashes para fazer backup do meu código não confirmado atual ( git stash, git stash apply) para que eu possa sempre reverter de volta.

Eu vejo um problema com git stashes … Eles estão apenas na sua máquina. Na verdade, não há backups.

No final do dia eu faço isso ..

git add .
git commit
-m "stash"
git push origin
[branch-name]

e pela manhã …

git reset HEAD~1

Eu também faço isso quando quero trocar de branches e quero salvar meu trabalho inacabado atual. Portanto, eu sei facilmente que este “pedaço de trabalho” pertence a este ramo.

git add .
git commit
-m "stash"
git push origin feature
-y
git checkout feature
-x
#do work
git checkout feature
-y
git reset HEAD
~1