Salta el contingut

0614 - bloc 4: Git flow i les seves branques - Activitat 1

Anem a treballar amb branques i analitzar què està passant en cada moment quan fem accions sobre diferents branques, així com entendre millor el seu funcionament.

Per a cada ordre o canvi realitzat, has de mostrar el resultat de git log --oneline i git status -s. Quan faces les captures, vull que es veja tant la carpeta amb els fitxers com la consola (per comprovar com apareixen i desapareixen els fitxers segons la branca).

En aquesta pàgina podem trobar com realitzar els missatges de commit correctament: Missatges commit .


1.- A la branca main, crea un arxiu README.md i fes un commit inicial per disposar d’una branca principal funcional. Després crea dos fitxers: fitxerMain1.txt i fitxerMain2.txt. Abans de fer git add . i git commit, crea una branca develop. Situa’t en aquesta nova branca: apareixen aquests fitxers a la branca develop? Explica si podem identificar si han estat creats des de la branca main. Fes un add i commit a la branca develop i torna a main. Apareixen els fitxers a main? Què ha passat?


2.- Desfés l'últim commit de la branca develop per tal de traure els fitxers del commit. Situa’t de nou a la branca main, fes add i commit, i torna després a la branca develop. Apareixen ara aquests fitxers? Què ha passat?


3.- Elimina la branca develop i torna-la a crear. Situa’t en la nova branca develop. Hi apareixen ara els fitxers? Per què?

Amb aquesta prova hauràs de comprendre la importància de les branques i què podem trobar en cadascuna segons el flux de treball.


FUNCIONAMENT GIT FLOW

1.- Afegeix dos fitxers a develop: fitDev1.txt i fitDev2.txt, i fes add i commit. Després crea una branca de funcionalitat feature-MenuLanding (pots donar-li el nom que vulgues, ja que només és una prova). Aquesta feature ha de contindre un index.html. Fes add i commit.


2.- Crea un repositori buit a GitHub i associa’l al teu repositori local amb git remote add. Fes un push de la branca de feature. Què apareix al repositori de GitHub? Quines branques existeixen? Quina informació conté cadascuna?


3.- Puja el contingut de totes les branques a GitHub i crea la teua primera pull request (PR). Recorda que una pull request serveix per indicar, des de GitHub, que vols fusionar el contingut de dues branques (merge), mantenint el flux de treball i responsabilitats. Fes una PR de la feature cap a develop. Fes una captura de la PR i indica totes les opcions disponibles en crear-la.


4.- Resol la PR i explica què ha passat amb les branques feature i develop. Conceptualment, quan crees una PR és perquè has acabat la teua tasca a la branca feature. Elimina la branca feature tant online com al repositori local.


PART COMÚ

5.- Amb la teua parella de projecte, compartiu el repositori de GitHub (afegeix-lo com a col·laborador en un dels repositoris). Només necessiteu un repositori actiu; l’altre es pot eliminar. El nou integrant del projecte ha de clonar el repositori en local.


6.- Cada membre del grup ha de crear una branca feature diferent a partir de develop, i modificar el mateix fitxer: fitxerDev1.txt. Afegiu 10 línies de text cadascun. Les línies 3 i 7 han de ser exactament iguals en totes dues features. Fes add i commit en local i puja els canvis al remot amb un push.


7.- Cada membre ha de crear una PR perquè l’altre la resolga. El primer que resolga una PR no tindrà conflictes, però el segon haurà d’afrontar-ne. Les línies iguals no generaran conflicte, però les diferents sí. Cal resoldre els conflictes de la següent manera:

  • Acceptant el codi d’una feature en el primer conflicte
  • Acceptant el codi de l’altra feature en el segon conflicte
  • Acceptant el codi de totes dues en el tercer conflicte

8.- Crea una branca release a partir de develop per portar aquests dos fitxers cap a main. Indica com ho has fet. Afig un tag per identificar una versió, per exemple: v1.0.


9.- Incorporació de canvis d’un company. Creeu dues noves branques feature, una per a cada membre. Dins de cada feature, creeu un fitxer amb el vostre nom. Un dels dos farà una PR cap a develop i la resoldreu. Ara, l’altre membre necessita incorporar els canvis de develop a la seua feature en local. Actualitza la branca develop en local i integra els canvis a la teua feature. Recorda que, en aquest cas, no has de fer un merge, ja que estàs incorporant canvis d’una branca més estable. La bona pràctica és utilitzar rebase. Fes un rebase de develop sobre la teua feature i mostra què ha passat.


10.- Crea una branca hotfix des de main per fer un petit canvi i resol-lo. Recorda incorporar el canvi tant a main com a develop.