with untracked tutorial tag stash specific name files git

tutorial - git stash untracked files



git stash aplicar versiĆ³n (4)

Desde la versión 2.11, es bastante fácil, puedes usar el número de pila N en lugar de decir "stash@{n}" . Así que ahora en lugar de usar:

git stash apply "stash@{n}"

Usted puede escribir:

git stash apply n

Por ejemplo, en tu lista:

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 desea aplicar stash@{1} puede escribir:

git stash apply 1

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:

error: Your local changes to the following files would be overwritten by merge: file Please commit your changes or stash them before you merge.

En versiones anteriores a 1.7.5.1, se negaba a funcionar si se producía un cambio en el directorio de trabajo.

Notas de lanzamiento de Git:

El usuario siempre tiene que decir "stash @ {$ N}" al nombrar un solo elemento en la ubicación predeterminada del stash, es decir, los reflogs en refs / stash. El comando "git stash" aprendió a aceptar "git stash apply 4" como una mano corta para "git stash apply stash @ {4}"

git stash apply "se utiliza para rechazar el trabajo si hubo algún cambio en el árbol de trabajo, incluso cuando el cambio no se superpuso con el cambio registrado.

Realmente espero que alguien pueda aconsejar.

Tengo 2 ramas maestro | diseño

Trabajando en el diseño hice un alijo y cambié a master, hice algunos ajustes. Cambié de nuevo al diseño e hice un stash 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 ni quitado.

Si hago una lista de alijo 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 intento git stash apply f2c0c72 , git stash apply f2c0c72 un error:

fatal: Needed a single revision f2c0c72: no valid stashed state found

¿Cómo puedo aplicar un alijo específico?

¡¡Espero que alguien pueda ayudar!!


Las claves en el alijo son en realidad el stash@{n} elementos a la izquierda. Así que prueba:

git stash apply stash@{0}

(tenga en cuenta que en algunas conchas debe citar "stash@{0}" , como zsh, fish y powershell).

Para obtener la lista de alijo:

git stash list

De hecho, stash @ {0} es una revisión en git a la que puedes cambiar ... pero se git stash apply ... debería averiguar cómo DTRT aplicarlo a tu ubicación actual.


Para aplicar un alijo y eliminarlo de la lista de alijo, ejecute:

git stash pop stash@{n}

Para aplicar un alijo y mantenerlo en el caché de alijo, ejecute:

git stash apply stash@{n}


Si uno está en una máquina Windows y en PowerShell, debe citar el argumento, como por ejemplo:

git stash apply "stash@{0}"

... o para aplicar los cambios y eliminar del alijo:

git stash pop "stash@{0}"

De lo contrario, sin las comillas podría obtener este error:

fatal: argumento ambiguo ''stash @'': revisión desconocida o ruta que no está en el árbol de trabajo.