Git stash semble faire beaucoup de ce que je veux, sauf que c'est un peu difficile de script, comme si vous n'avez pas de changements, git stash; git stash pop
va faire quelque chose de différent que si vous avez des changements dans votre référentiel.
Il semble que l' git stash create
est la réponse à ce problème, et tout fonctionne, sauf pour une chose... je ne peut pas se débarrasser de la création cachette. Est-il possible de se débarrasser de la cachette?
Pour le rendre 100% clair ce que je fais:
Créer la cachette:
~/tmp/a(master) $ git stash create
60629375d0eb12348f9d31933dd348ad0f038435
~/tmp/a(master) $ git st
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
~/tmp/a(master) $ git reset --hard
HEAD is now at 555d572 log message
Utiliser la cachette:
~/tmp/a(master) $ git apply 60629375d0eb12348f9d31933dd348ad0f038435
fatal: can't open patch '60629375d0eb12348f9d31933dd348ad0f038435': No such file or directory
~/tmp/a(master) $ git stash apply 60629375d0eb12348f9d31933dd348ad0f038435
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
Supprimer la cachette: (sauf que ce dernier ne fonctionne pas)
~/tmp/a(master) $ git stash drop !$
git stash drop 60629375d0eb12348f9d31933dd348ad0f038435
'60629375d0eb12348f9d31933dd348ad0f038435' is not a stash reference