Git stash Más videos
Descripción del tema
En algunas ocaciones estamos trabajando en algún branch, pero urgentemente necesitamos cambiarnos de branch para corregir algún problema en producción o para traer los nuevos cambios de remoto. Generalmente no quisiéramos hacer un commit con nuestro trabajo a medias.
Para estos casos git stash nos viene muy bien, ya que este comando nos permite guardar temporalmente nuestros cambios que tenemos en el workspace para más adelante aplicarlos.
Supongamos que tenemos algunos archivos modificados en el workspace, si hacemos un git status veremos cuales son esos archivos.
$ git status On branch develop Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: app/controller/base_controller.rb modified: app/controller/sales_controller.rb
Para guardar temporalmente estos cambios en el stash, tendríamos que hacer lo siguiente.
$ git stash
Con eso automáticamente todos los archivos modificados serán guardados en el "stash", que básicamente es un almacenamiento temporal que usaremos para cambiarnos de branch y trabajar en otra cosa.
Podemos crear todos los "stash" que necesitemos, luego más adelante podemos aplicarlos a nuestro código nuevamente, si queremos ver el listado de todos los que hemos guardado usamos el siguiente comando.
$ git stash list stash@{0}: WIP on develop: c57e3f1 Some description here...,
Por el momento solo aparece uno, pero pueden aparecer N cantidad de elementos guardados.
Ahora bien, una vez que nos cambiamos de branch, arreglamos los problemas que surgieron y queremos regresar a donde estábamos trabajando, lo único que necesitamos hacer es aplicar el stash a nuestro workspace. Para eso simplemente ejecutamos el siguiente comando.
$ git stash apply
Git automáticamente aplicará el stash más reciente, como solo tenemos uno no tendremos ningún problema, en caso de tener más podemos indicarle cual aplicar de la siguiente manera.
$ git stash apply stash@{0}
Con eso aplicaremos el stash específico y veremos que nuestro workspace estará exactamente igual como lo dejamos anteriormente.
$ git status On branch develop Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: app/controller/base_controller.rb modified: app/controller/sales_controller.rb
Conclusiones
Usar el stash es de gran ayuda si no queremos hacer commits con trabajo a medias, es una herramienta perfecta para esos casos donde estamos a la mitad de algo y tenemos que cambiarnos de branch para revisar otra cosa urgente.
Si te ha gustado este tutorial agradeceré que lo compartas en tus redes sociales! Eso me ayudará a continuar subiendo contenido de calidad a este sitio de manera gratuita.
Te gustaría recibir más tutoriales como este en tu correo?
Este tutorial pertenece al curso GIT en el mundo real, te recomiendo revises el resto de los tutoriales ya que están en secuencia de menor a mayor complejidad.
Si deseas recibir más tutoriales como este en tu correo te recomiendo registrarte al curso, si ya eres miembro solo identifícate y registrate al curso, si no eres miembro te puedes registrar gratuitamente!
Si no gustas registrarte en este momento no es necesario! Aún así puedes recibir los nuevos tutoriales en tu correo! Jamás te enviaremos Spam y puedes cancelar tu suscripción en cualquier momento.
Regístrate a este curso
Este tutorial pertenece al curso GIT en el mundo real, revisa todos los tutoriales que tenemos en este mismo curso ya que están en secuencia y van de lo más sencillo a lo más complicado.
Ya que este curso no está finalizado al registrarte podrás recibir en tu correo los nuevos tutoriales de este curso!
Tendrás acceso a descargar los videos, códigos y material adicional.
Podrás resolver los ejercicios incluidos en el curso así como los Quizzes.
Llevarás un registro de tu avance.
Se el primero en comentar!