
Hoy vamos a hablar un poco de Git y veremos como pasar los cambios hechos en una rama a otra sin perder nada por el camino.
No os ha pasado nunca que por A o por B habéis tenido que trabajar en la rama master y que una feature ha tomado más peso que otra que en la que estábamos trabajando? O que sin darnos cuenta hemos hecho los cambios en master en vez de hacer los cambios en la rama que le tocaba.
¿Qué hacer cuando hemos escrito código en master y debería estar en otra rama?
Bueno tranquilos que para todo hay solución menos para la muerte y los científicos están trabajando en ello.
Pongámonos en situación, sin darnos cuenta estamos trabajando en la rama master, ya sea porque necesitamos que algún tester vea lo que estamos haciendo en nuestro ordenador o porque no nos hemos acordado de trabajar en la rama nueva.
Entonces lo que vamos a hacer es pasarlo todo a una rama nueva, para que así podamos mantener lo que ya habíamos adelantado y seguir con lo nuevo.
Para hacerlo si aún no hemos hecho commit es sencillo, simplemente tendremos que hacer lo siguiente:
1 | git checkout -b new-feature |
Esto lo que hará será crearnos una nueva rama con todo lo que tengamos en master y nos moverá a dicha rama.
Una vez allí, simplemente añadiremos todos los cambios al stage y haremos un commit, para guardar los cambios realizados:
1 2 | git add . git commit -m "Guardamos los datos iniciales para la New Feature" |
Entonces volvemos a la rama master:
1 | git checkout master |
Con un git status, veremos que ya no están dichos cambios y todos los cambios se encuentran en la rama que hemos creado para dicho fin.
¿Qué hacer si ya hemos hecho commit en master?
En ese caso tendremos que deshacer dicho commit.
Es tan simple como ejecutar el siguiente comando de git:
1 | git reset HEAD~1 |
Y con eso ya habremos deshecho el commit y podremos aplicar todo lo que hemos mencionado anteriormente.
Eso es todo, ¿habéis visto que fácil? espero que os haya servido de ayuda.
Y recordad! No olvidéis comentar! Vuestro código y en el Blog 😉
German
Justo lo que necesitaba
Oyagum
Me alegro de que te haya servido 🙂
Lourdes
Buenos días, ¿si quiero actualizar mi rama y poner un archivo x.json que se creo en otra rama y lo quiero utilizar en la mía, pero sin borrar en la original, sabrías decirme como hago?
Oyagum
Yo ahí tiraría de lo fácil realmente. Entrar en esa rama, copiar el fichero, pasar a la rama donde quieres tenerlo y copiarlo. Simple y directo. Creo que es lo más fácil.