Guardar los cambios de los archivos por nombre en Git
Este tutorial presentará cómo ocultar los cambios de los archivos por nombre en Git.
En Git, es posible que deseemos guardar los cambios por un tiempo y trabajar en la versión de los archivos antes de que se realicen estos cambios.
Podemos usar el comando git stash push
para ocultar los cambios y guardarlos para su uso posterior.
Nuevamente, más adelante, podemos usar el comando git stash pop
para recuperar estos cambios.
A veces, es posible que deseemos guardar la entrada oculta con un nombre para facilitar su uso. Es posible que deseemos usar el nombre de la entrada oculta para buscarla en la lista oculta y usar el nombre para recuperar los cambios.
Ahora ilustraremos esto con un ejemplo.
Uso de git stash push
para almacenar cambios de archivos por nombre en Git
Supongamos que tenemos un archivo llamado sample.txt
en la rama main
en el repositorio de Git. Es posible que hayamos realizado algunos cambios en el archivo localmente.
Podemos comprobar el estado del repositorio de la siguiente manera.
$ git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: sample.txt
Por lo tanto, podemos ver que el archivo sample.txt
tiene algunos cambios que deben confirmarse.
Ahora, decidimos que, en lugar de confirmar esos cambios, es posible que deseemos ocultar esos cambios con un nombre para recuperarlos fácilmente más adelante.
La sintaxis del comando git stash push
para ocultar cambios con un nombre es git stash push -m <stash_name>
.
Ahora guardaremos los cambios del archivo sample.txt
con el siguiente nombre.
$ git stash push -m "my_stash"
Saved working directory and index state On master: my_stash
Podemos ver el nombre del stash dado en la lista de stash.
$ git stash list
stash@{0}: On master: my_stash
Por lo tanto, en la lista de stash, podemos ver la entrada del stash con nuestro nombre de stash dado, es decir, mi_stash
.
Ahora volveremos a verificar los cambios en el árbol de trabajo, de la siguiente manera.
$ git status
On branch main
nothing to commit, working tree clean
Como hemos hecho el ocultamiento, Git no muestra nuevos cambios.
Cuando sea necesario, podemos recuperar los cambios del almacén oculto usando el nombre dado a la entrada oculta que acabamos de crear.
Necesitamos usar el comando git stash apply
para recuperar los cambios en el árbol de trabajo.
La sintaxis del comando git stash apply
para recuperar la entrada de almacenamiento por nombre y aplicar los cambios al árbol de trabajo es git stash apply stash^{/<stash_name>}
.
Tenga en cuenta que estamos usando una expresión regular con el nombre del stash para obtener la entrada al stash deseada.
Por lo tanto, debemos hacer lo siguiente para recuperar la entrada del stash del nombre my_stash
.
$ git stash apply stash^{/my_stash}
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: sample.txt
Ahora podemos ver los cambios aplicados al árbol de trabajo, que hemos recuperado del stash, de la siguiente manera.
$ git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: sample.txt
A diferencia del comando git stash pop
, el comando git stash apply
no elimina el estado oculto (es decir,) la entrada oculta de la lista oculta. Solo aplica la entrada oculta dada sobre el estado actual del árbol de trabajo.
Por lo tanto, aún podemos ver la entrada oculta en la lista oculta.
$ git stash list
stash@{0}: On master: my_stash
Podemos eliminar la entrada oculta de la lista oculta.
Necesitamos ejecutar el comando de la siguiente manera.
$ git stash clear
Precaución: use este comando con cuidado porque elimina todas las entradas ocultas.
Para eliminar solo una entrada específica, como en nuestro caso, debemos hacer lo siguiente.
$ git stash pop stash@{0}
Por lo tanto, en este caso, la entrada oculta ahora se eliminará de la lista oculta.
Artículo relacionado - Git Stash
- Deshacer conflictos de Git Stash Pop
- Git Stash necesita fusionarse
- Mover cambios no confirmados existentes a una nueva rama en Git
- Recuperar Stash en Git
- Resolver conflictos de almacenamiento de Git sin compromiso
- Aplicar Stashes en Git
Artículo relacionado - Git Push
- Cabezal de origen Git Push
- Confirmar y enviar un solo archivo al control remoto
- Diferencia entre Git Push Origin y Git Push Origin Master
- Enviar una confirmación específica a un repositorio remoto
- Force Git Push para sobrescribir archivos en el repositorio remoto
- git add, git commit y git push en One Command