- Básicos Git (I): Cherry pick
- Básicos Git (II): Rebase
- Básicos Git (III): Revert
- Básicos Git (IV): Reset
- Básicos Git (V): Amend
- Básicos Git (VI): Stash
Stash es una acción que ya lleva bastante tiempo dentro de Git y ahora está disponible dentro de Visual Studio, stash lo que permite es aparcar los cambios actuales para poder retomarlos después, es similar a usar shelve en TFS.
Un escenario típico de uso es cuando se está trabajando en una rama y es necesario cambiar a otra pero sin perder el trabajo realizado pero tampoco sin querer hacer un commit, (por ejemplo la correción de un bug).
Stash
En este escenario sobre los archivos que seleccionemos usamos la opción stash que encontraremos en el botón Commit marcando una de las dos opciones disponibles.
Se puede hacer un stash moviendo los cambios a un área apartada quitando los cambios del area de stage (–include-untracked) o se puede hacer esto pero manteniendo los archivos en stage (–keep-index).

Apply and Pop
Si más adelante después de terminar con la otra rama queremos volver al trabajo guardado no tendremos más ir a la sección Stashes y tendremos dos posibles opciones:
- Apply Esto vuelve a colocar los cambios en la rama y los sigue manteniendo en stashes
- Pop Es lo mismo que Apply pero además lo elimina de la lista de stash.
Ambas opciones permiten especificar al igual que al hacer un stash si queremos que estos cambios se procesen y se coloquen en el area de stage (–index) o no.

Stash tiene el mismo comportamiento que si se intentase hacer un merge, es decir no se puede restaurar código si el código sobre el que se va a actuar está modificado, habrá que hacer un commit o deshacer los cambios.
De igual forma si el código tiene una versión más actualizada y se intenta efectuar un stash con código anterior se producirá un conflicto que habrá que resolver.
También es posible eliminar ese conjunto de cambios con Drop o ver los cambios en ese conjunto (View changes).