Manuel Cánepa

Manuel Cánepa

Ramas (O branches) en git

09/11/2016, por Manuel Eduardo Cánepa Cihuelo, categoría GIT

Esto podría considerarse un ayuda memoria para trabajar con ramas en git. A mi manera de ver las cosas, la mejor manera de trabajar es tener 3 entornos:

  • Produccion (Checkout a master)
  • Stage (Checkout a dev)
  • Desarrollo (Checkout a una rama local a partir de dev)

Cuando estamos desarrollando, lo mas conveniente siempre es realizar pequeñas implementaciones que nos permitan tener un menor impacto al momento de tener que analizar un error, o en caso de tener que hacer un merge con otras ramas. Para esto, podemos hacer checkout a la rama en la que vamos a estar trabajando, suponiendo que nos piden una nueva funcionalidad y en el issue tracker quedo con numero 42 ( 😉 😉 ).

$ git checkout dev
 
$ git checkout -b FR#42

Luego de hacer los cambios necesarios, realizamos el commit

$ git commit -m "Version inicial de la feature #42"

Hacemos el push de la rama hacia origin

$ git push -u origin FR#42

Una vez que la nueva rama FR#42 esta actualizada en el repositorio, nos disponemos a realizar las pruebas en el ambiente de stage. Para eso, necesitamos hacer un merge entre nuestra rama y dev

$ git checkout dev
 
$ git merge FR#42
 
$ git push

Con esto, nuestra rama de stage quedará sincronizada con FR#42. Solo resta hacer un pull en nuestro ambiente de stage y listo.

Lo mismo pasa cuando queremos sincronizar stage con producccion. Simplemente hacemos checkout de master, merge con dev y luego el push

$ git checkout master
 
$ git merge dev
 
$ git push

Debemos tener siempre presente que si hay conflictos en cada merge, debemos resolverlos antes de realizar el push.

Ramas en git

¿Que opinás?