¿Los cambios de git stash se aplican a la nueva rama?

Resuelto YD8877 asked hace 13 años • 3 respuestas

Estaba trabajando en la rama maestra, hice algunos cambios y luego los guardé. Ahora mi maestro está en HEAD.

Pero ahora quiero recuperar estos cambios, pero en una nueva rama que se bifurca desde la versión HEAD de la rama maestra.

Cómo hago esto ?

YD8877 avatar Aug 03 '11 17:08 YD8877
Aceptado

El procedimiento habitual y estándar es:

  • hacer cambios
  • git stash save
  • git branch xxx HEAD
  • git checkout xxx
  • git stash pop

Corta:

  • hacer cambios
  • git stash
  • git checkout -b xxx
  • git stash pop
Andrejs Cainikovs avatar Aug 03 '2011 10:08 Andrejs Cainikovs

Como ya has guardado tus cambios, todo lo que necesitas es esta frase:

  • git stash branch <branchname> [<stash>]

De los documentos ( https://www.kernel.org/pub/software/scm/git/docs/git-stash.html ):

Crea y verifica una nueva rama llamada < nombre de rama > a partir de la confirmación en la que se creó originalmente < stash >, aplica los cambios registrados en < stash > al nuevo árbol de trabajo e índice. Si esto tiene éxito, y < stash > es una referencia con el formato stash@{< revisión >}, entonces descarta el < stash >. Cuando no se proporciona ningún <stash> , se aplica el último.

Esto es útil si la rama en la que ejecutó git stash save ha cambiado lo suficiente como para que git stash apply falle debido a conflictos. Dado que el alijo se aplica encima de la confirmación que era HEAD en el momento en que se ejecutó git stash, restaura el estado originalmente escondido sin conflictos.

Rodney G avatar Apr 01 '2013 16:04 Rodney G

Si tiene algunos cambios en su espacio de trabajo y desea guardarlos en una nueva rama, use este comando:

git stash branch branchName

Esto lo hara:

  1. una nueva rama (a partir de la confirmación en la que se creó originalmente el alijo)
  2. mover cambios a esta rama
  3. y eliminar el último alijo (como: git stash pop)

Después de ejecutar este comando, querrá realizar git addlos cambios y confirmarlos.

Hamed Yarandi avatar Aug 18 '2019 07:08 Hamed Yarandi