Vous pouvez effectivement trouver la cachette nom en utilisant git de la syntaxe d'expression régulière pour les objets d'adressage:
stash^{/<regex>}
:/<regex>
Par exemple, lors de l'enregistrement de votre cachette avec un nom de la sauvegarde:
git stash save "guacamole sauce WIP"
... vous pouvez utiliser une expression régulière à l'adresse que stash:
git stash apply stash^{/guacamo}
Cela permettra d'appliquer le plus jeune cachette qui correspond à l'expression régulière guacamo
. De cette façon, vous n'avez pas à savoir quel est le nombre le coffre est dans la pile, vous avez juste à savoir son nom. Il n'y a pas de terser syntaxe pour cela, mais vous pouvez créer un alias dans votre .gitconfig
le fichier:
[alias]
sshow = "!f() { git stash show stash^{/$*} -p; }; f"
sapply = "!f() { git stash apply stash^{/$*}; }; f"
Vous pouvez ensuite utiliser git sapply <regex>
à appliquer que stash (sans tomber).
Vous pouvez ensuite utiliser git sshow <regex>
montrer: les fichiers modifiés, les insertions et les suppressions
EDIT: Accessoires pour ce StackOverflow réponse sur la façon d'utiliser bash arguments dans git alias.
EDIT 2: Cette réponse utilisé pour contenir de l' drop
et list
des alias, mais depuis, j'ai supprimé, car drop
nécessite l' stash@{n}
alors que la syntaxe list
n'ont pas de filtrer les caches. Si quelqu'un sait comment résoudre une cachette de hachage SHA-1 pour une cachette ref, puis j'ai pu mettre en œuvre les autres commandes.
EDIT 3: Par isyila suggestion, j'ai ajouté un patch drapeau pour montrer ce que le contenu de la cachette sont lors de la démonstration.