Tengo 2 ramas: maestro | diseño
Trabajando en diseño hice un alijo y cambié a maestro, hice algunos ajustes. Volví al diseño e hice stash apply
solo para perder todos mis cambios en la rama de diseño.
Espero que todo mi trabajo esté dentro de un alijo ya que no los he borrado o eliminado.
Si hago una lista oculta, obtengo 4 resultados:
stash@{0}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{1}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{2}: WIP on design: eb65635... Email Adjust
stash@{3}: WIP on design: eb65635... Email Adjust
Si lo intento git stash apply f2c0c72
obtengo un error:
fatal: Needed a single revision
f2c0c72: no valid stashed state found
¿Cómo puedo aplicar un alijo específico?
git stash apply 0
(en lugar degit stash apply stash@{0}
). Mira mi respuesta aquí .Respuestas:
Las claves en el alijo son en realidad los
stash@{n}
elementos de la izquierda. Entonces intenta:(tenga en cuenta que en algunos shells debe citar
"stash@{0}"
, como zsh, fish y powershell).Desde la versión 2.11, es bastante fácil, puede usar el número de pila N en lugar de usar
stash@{n}
. Entonces, en lugar de usar:Puedes escribir:
Para obtener la lista de escondites:
De hecho,
stash@{0}
es una revisión en git a la que puede cambiar ... perogit stash apply ...
debería descubrir cómo DTRT para aplicarla a su ubicación actual.fuente
gitk stash@{0}
para mostrar los cambios que realizó en un alijo en particular.git stash apply "stash@{0}"
stash@{n}
es el comando más incómodo de escribir. ¿Hay atajos para hacer esto además de crear tu propio alias o función?git stash apply n
es pacíficoPara aplicar un alijo y eliminarlo de la lista de alijo, ejecute:
Para aplicar un alijo y mantenerlo en el caché del alijo, ejecute:
fuente
git stash pop "stash@{n}"
git stash apply stash@"{n}"
git stash apply stash@`{n`}
(tenga en cuenta los backticks antes de las llaves).Desde la versión 2.11, es bastante fácil, puede usar el número de pila N en lugar de decir
"stash@{n}"
. Entonces, en lugar de usar:Puedes escribir:
Por ejemplo, en tu lista:
Si desea presentar
stash@{1}
una solicitud , puede escribir:De lo contrario, puede usarlo incluso si tiene algunos cambios en su directorio desde 1.7.5.1, pero debe asegurarse de que el alijo no sobrescribirá los cambios de su directorio de trabajo si lo hace, obtendrá un error:
En versiones anteriores a 1.7.5.1, se negaba a funcionar si había un cambio en el directorio de trabajo.
Notas de lanzamiento de Git:
fuente
Si uno está en una máquina Windows y en PowerShell, necesita citar el argumento como:
... o para aplicar los cambios y eliminar del alijo:
De lo contrario, sin las comillas, puede obtener este error:
fuente
luego seleccione el alijo para aplicar y use solo el número:
fuente
La lista mostrará todos los elementos escondidos, por ejemplo: stash @ {0} :, stash @ {1}:, .., stash @ {n}:
Luego seleccione el número n que denota alijo @ {n}:
fuente