Git | Trabajando con Stash

Git permite que múltiples usuarios trabajen en el mismo proyecto simultáneamente. Supongamos que un desarrollador está trabajando en una función en una rama y necesita extraer cambios de la rama de otro desarrollador o si tiene que trabajar urgentemente en otra función, pero la función en la que está trabajando actualmente está incompleta. En este caso, no puede confirmar el código parcial de la característica que funciona actualmente. Para agregar esta nueva función, debe eliminar los cambios actuales y almacenarlos en otro lugar. Para este tipo de situaciones, Git ofrece un comando muy útil conocido como ‘ git stash‘.
git stashEl comando guarda el código escrito previamente y luego vuelve a la última confirmación para un nuevo comienzo. Ahora puede agregar la nueva función sin molestar a la anterior, ya que se guarda localmente. Después de confirmar la nueva característica, puede continuar trabajando en la característica anterior que estaba incompleta y no confirmada.

Guardar los cambios actuales

Para guardar los cambios no confirmados para su uso posterior, puede usar el comando git stash‘ . Este comando guarda sus modificaciones locales y revierte el directorio de trabajo para que coincida con la confirmación HEAD, por lo que le dará un directorio de trabajo limpio.

git stash

git stash
By default, running git stash will stash the changes that have been added to your index (staged changes) and changes made to files that are currently tracked by Git (unstaged changes). To stash your untracked files, use git stash -u.

Listado de múltiples alijos

Puede crear varios alijos y verlos con el comando git stash list‘ . Cada entrada oculta se enumera con su nombre (p. ej., stash@{1} ), el nombre de la rama que estaba vigente cuando se realizó la entrada y una breve descripción de la confirmación en la que se basó la entrada.

git stash list

git stash list
To provide more context to the stash we create the stash using the following command:

git stash save "message"

Recuperar los cambios guardados

Puede volver a aplicar los cambios guardados previamente con el comando git stash pop o git stash apply‘ . La única diferencia entre ambos comandos es que git stash pop elimina los cambios del alijo y vuelve a aplicar los cambios en la copia de trabajo, mientras que git stash apply solo vuelve a aplicar los cambios en la copia de trabajo sin eliminar los cambios del alijo. En palabras simples, «pop» elimina el estado de la lista de reserva, mientras que «aplicar» no elimina el estado de la lista de reserva.

git stash pop

git stash pop

git stash apply

git stash apply
By default git stash pop or git stash apply will reapply the most recently created stash: stash@{0}
To choose which stash to apply, you can pass the identifier as the last argument (For eg.:- git stash pop stash@{2}).

Visualización del resumen de alijo

git stash showEl comando se utiliza para mostrar el resumen de las operaciones realizadas en el alijo.

git stash show

git stash show

Creación de una sucursal desde el alijo

Si desea crear y verificar una nueva rama a partir de la confirmación en la que se creó originalmente el alijo y también aplicar los cambios guardados en el alijo, use git stash branch branch_name stash_name . Elimina el alijo que se proporciona como argumento y, si no se proporciona ningún alijo, elimina el último.

git stash branch newbranch stash@{0}

git stash branch

Eliminación de alijos

Para eliminar cualquier alijo en particular ( por ejemplo: – alijo@{1}), use git stash drop stash@{1} . De forma predeterminada, este comando eliminará stash@{0} si no se proporciona ningún argumento ( git stash drop).
Para eliminar todos los alijos a la vez, use el comando git stash clear‘ .
git clear & git drop

Publicación traducida automáticamente

Artículo escrito por nooooob y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *