Despues de seguir este mini reto terminaras aprendiendo como trabajar de forma colaborativa con Github usando el flujo de trabajo basadado en ramas por función (feature-branch workflow), resolver los tan odiados conflictos como una pro y tambien aprenderemos los siguientes comandos de Git:
git status
git add
git remote add
git commit
git push
git branch
git checkout
git pull
git merge
- Dev2 hace fork del repo de colaboracion
- Clonar el repo en el computador
git clone
- Establecer nuestras ramas remotas
origin
yupstream
- Creamos nuestra primera branch
git branch mi-primera-tarea
- Cambiemos de branch
git checkout mi-primera-tarea
- Hagamos nuestro primer commit mostrando el flujo:
git status
->git add
->git commit
- Subimos nuestro avance a nuestra Github
git push origin mi-primera-tarea
- Hagamos nuestro primer Pull Request (PR) usando la plataforma de Github, colocamos un titulo y descripcion que comunique nuestra propuesta Por que?, que cambios aniade este PR?, subir imagenes o demos siempre ayuda
- Dev1 revisa que no haya conflictos, si todo esta bien aprobamos el PR, merge
- Dev2 trae los cambios del repo principal (de integracion)
git pull origin master
- Creemos una nueva branch para cambiar los estilos de la app
git checkout -b trabajar-estilos
mientras que el Dev1 tambien crea una nueva branch para seguir trabajando en los estilosgit checkout -b aniadir-estilos
- Repetimos el flujo del paso 7-10 del primer acto
- Dev1 sigue trabajando en su nueva branch
aniadir-estilos
y haciendo commits - Subir branch ha github
git push origin aniadir-estilos
- Realizamos un nuevo PR, 💣 conflictos!! 😨
- Nos movemos hacia la rama master
git checkout master
- Nos sincronizamos con la rama remota master
git pull upstream master
- Nos movemos nuevamente a nuestra rama de trabajo
git checkout aniadir-estilos
- Mergeamos nuestra rama de trabajo con la rama master
git merge master
, 💣 aparecen los conflictos - Revisemos los conflictos a traves de la opcion del menu lateral "source control" que nos da VSCode
- Con detenimiento tomamos las decisiones a cerca de que partes queremos mantener
- Aniadimos los archivos con conflicto al stage
git add
- Realizamos un commit de la integracion
- Actualizamos nuestro PR
git push origin aniadir-estilos
- Dev2 revisa que no haya conflictos, si todo esta bien aprobamos el PR, merge