Entonces, no estoy seguro de por qué hay tanta consternación sobre este tema. Puedo nombrar un escondite de git con un empuje y el guardado en desuso, y puedo usar una expresión regular para recuperarlo con una aplicación:
Método de almacenamiento Git para usar un nombre para aplicar
$ git stash push -m "john-hancock"
$ git stash apply stash^{/john-hancock}
Como se mencionó anteriormente, el comando guardar está en desuso, pero aún funciona, por lo que puede usarlo en sistemas más antiguos donde no puede actualizarlos con una llamada de inserción. A diferencia del comando push, el modificador -m no se requiere con save.
// save is deprecated but still functional
$ git stash save john-hancock
Este es Git 2.2 y Windows 10.
Prueba visual
Aquí hay un hermoso GIF animado que demuestra el proceso.
Secuencia de eventos
El GIF se ejecuta rápidamente, pero si nos fijamos, el proceso es el siguiente:
- El comando ls muestra 4 archivos en el directorio
- touch example.html agrega un quinto archivo
- git stash push -m "john-hancock" -a (El -a incluye archivos sin seguimiento)
- El comando ls muestra 4 archivos después del alijo, lo que significa que el alijo y el restablecimiento completo implícito funcionaron
- git stash apply stash ^ {/ john-hancock} se ejecuta
- El comando ls enumera 5 archivos, mostrando el archivo example.html que fue devuelto, lo que significa que el comando git stash apply funcionó.
¿Esto tiene sentido?
Para ser sincero, no estoy seguro de cuál es el beneficio de este enfoque. Tiene valor darle un nombre al alijo, pero no la recuperación. Tal vez escribir el proceso de archivar y dejar de lado sería útil, pero aún así es mucho más fácil simplemente abrir un alijo por nombre.
$ git stash pop 3
$ git stash apply 3
Eso me parece mucho más fácil que la expresión regular.
git stash push -m stashname
es la sintaxis actual .git stash save stashname
ha quedado en desuso