La forma moderna de ese comando es git stash push [--] [<pathspec>...]
, ya que Git 2.16+ ( git stash save
está en desuso )
Puede combinar eso con un formulario comodín, por ejemplo:
git stash push --all --keep-index ':(glob)**/*.testextension'
Pero eso no funciona bien con Git para Windows, hasta Git 2.22 (Q2 2019), vea el problema 2037 , considerando que git stash
se ha vuelto a implementar en C (en lugar de un script de shell)
Ver commit 7db9302 (11 mar 2019) por Thomas Gummerer ( tgummerer
) .
Ver commit 1366c78 , commit 7b556aa (07 mar 2019) por Johannes Schindelin ( dscho
) .
(Fusionada por Junio C Hamano - gitster
- en commit 0ba1ba4 , 22 abr 2019)
incorporado stash
: manejar :(glob)
nuevamente las especificaciones de ruta
Al pasar una lista de rutas de acceso a, digamos, git add
debemos tener cuidado de usar la forma original, no la forma analizada de las rutas de acceso.
Esto hace la diferencia, por ejemplo, al llamar
git stash -- ':(glob)**/*.txt'
donde el formulario original incluye el :(glob)
prefijo mientras que el formulario analizado no.
Sin embargo, en el incorporado git stash
, pasamos el formulario analizado (es decir, incorrecto) y git add
fallamos con el mensaje de error:
fatal: pathspec '**/*.txt' did not match any files
en la etapa en git stash
la que se eliminan los cambios del árbol de trabajo, incluso si refs/stash
realmente se ha actualizado con éxito.