lunes, 11 de noviembre de 2013

Tutorial GitFlow Workflow

El proceso basico para usar GitFlow consiste en manejar varios branch dentro del repositorio remoto. Cada uno de estos branch tiene una funcion, todo con miras a garantizar un repositorio con codigo estable.

Definimos los siguientes branches en el repositorio.

  • master: Este branch se crea por defecto. Sobre este no se trabajara.
  • release: Es el branch donde se pondran los realease formados por todos los cambios de los desarrolladores.
  • develop:Son las versiones estables de desarrollo. O sea las que se hacen despues de hacer el merge.

Crear el repositorio usando Git

La idea es hacer checkouts del branch develop, trabajar sobre este y cuando estemos preparados para hacer push al servidor procedemos a hacer pull de las ultimas versiones de develop y hacer un merge de nuestro feature con la ultima version de develop a la que le hicimos pull.


 El primer paso seria crear un branch en el repositorio remoto de la siguiente forma:

git branch develop
git push -u origin develop

Lo que hicimos fue crear un branch localmente y luego hacerle push a nuestro repositorio.

Recetario para trabajar con GitFlow

El proceso que debe llevar a cabo todo desarrollador que trabaje con GitFlow, lo resumo en los siguientes pasos.

  1. Clonar proyecto en el ambiente local: El usuario debe clonar todo el repositorio remoto en su maquina y definirle a git que va a trabajar sobre develop, para esto usa el comando checkout
  2.  
    git clone /ruta/repo.git
    git checkout -b develop origin/develop
    

  3.  Crear el branch que contendra nuestro feature: Lo que hacemos es clonar el contenido del branch develop(El que descargamos del repo remoto) en otro branch llamado "feature1.0".

  4. git checkout -b feature1.0 develop
    

  5. Realizar cambios y añadir al Staging Area de Git los archivos editados: Cada vez que creemos o modifiquemos algun archivo en nuestro git, debemos añadirlo al staging area para que git sepa que archivos son los que deben ser versionados.
  6. git add "file"
    

    NOTA: Esto lo hacemos para cada archivo.
  7. Hacemos commit de el staging area: Luego de añadir los archivos al staging area, hacemos commit de forma local de estos archivos.
  8. git commit -m "Comentario del commit"
    
  9. Realizamos el pull de los ultimos cambios en develop(IMPORTANTE): Por ultimo debemos hacer pull(O sea recuperar los cambios que se hacen sobre el repositorio) del branch remoto de develop. Esto lo hacemos con el fin de obtener los ultimos cambios subidos por otros desarrolladores.
  10. git pull origin develop
    

  11. Nos posicionamos en develop: Hacemos checkout del branch develop, para trabajar sobre este branch.
  12. git checkout develop
    

  13. Hacemos el merge del feature y del branch develop: Lo que hacemos es hacer un merge del contenido del branch develop con el contenido del branch feature.
  14. git merge feature1.0
    

  15. Resolvemos conflictos: Si durante el merge existiese algun conflicto, este seria el momento de solucionarlos. En otro tutorial ahondaremos en el tema.
  16. Hacemos push al repositorio remoto: Si todo salio bien debemos hacer push del merge que acabamos de hacer.
  17. git push
    

  18. Borramos branch feature localmente: Como el branch donde conteniamos el feature es algo transitorio procedemos a borrarlo localmente.
  19. git branch -d feature1.0
Bueno esto es todo en los proximos tutoriales iremos ampliando mas el tema. Saludos y que sus vidas se llenen de luz!

Widget Facebook y twitter.