bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


git_merge

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
git_merge [2026/10/08 14:05]
enric_mieza_sanchez creat
git_merge [2026/10/08 14:20] (actual)
enric_mieza_sanchez [Comparar branques directament]
Línia 15: Línia 15:
 Es sol fer una branca per resoldre un error o //bug// (//hotfix//) o per implementar una funcionalitat (//feature//). Un cop resolt, es fa un //merge// o fusió entre la branca escindida i la branca de integració. Es sol fer una branca per resoldre un error o //bug// (//hotfix//) o per implementar una funcionalitat (//feature//). Un cop resolt, es fa un //merge// o fusió entre la branca escindida i la branca de integració.
  
-{{ https://ioc.xtec.cat/materials/FP/Recursos/ActivityUtil/documents_fp_docencia_activitats_cib_m03_cib_m03_u2/documents_fp_docencia_activitats_cib_m03_cib_m03_u2_cib_m03_u2l1_oa1_2/img/fpce/cib/m03/u2/a1/cib_m03_u2_006_n2.png?500 }}+{{ https://ioc.xtec.cat/materials/FP/Recursos/ActivityUtil/documents_fp_docencia_activitats_cib_m03_cib_m03_u2/documents_fp_docencia_activitats_cib_m03_cib_m03_u2_cib_m03_u2l1_oa1_2/img/fpce/cib/m03/u2/a1/cib_m03_u2_006_n2.png?400 }}
  
 +El moment de fusionar el codi és delicat. Pot donar conflicte (una línia en la que hi ha canvis en les 2 branques a fusionar). I si no dona conflicte, la barreja de codi pot provocar errors en funcionalitats abans resoltes.
  
 +**Conclusió: sempre s'ha de revisar quins seran els canvis abans de fer el //merge//.**
  
 \\ \\
  
 ===== Comprovar els canvis ===== ===== Comprovar els canvis =====
 +
 +Posem que tenim la branca ''main'' i en derivem una altra branca de nom ''feature''.
 +
 +==== Comparar branques directament ====
 +
 +Comprovar els canvis és senzill amb aquesta instrucció:
 +  $ git diff main...feature
 +
 +O equivalent:
 +  $ git diff $(git merge-base main feature) feature
 +
 +\\
 +
 +==== Alternativa: fer un merge sense commit ====
 +
 +Assegura’t d’estar a la branca destí ''main'' i que l’arbre de treball estigui net:
 +  $ git checkout main
 +  $ git merge --no-commit --no-ff feature
 +
 +Els paràmetres son:
 +  * ''--no-commit'': no fa el commit automàtic.
 +  * ''--no-ff'': força un merge commit encara que es pogués fer fast-forward, perquè puguis veure’l.
 +
 +Ara inspecciona:
 +  $ git status                 # veure fitxers modificats i conflictes
 +  $ git diff --cached          # canvis que s'afegirien al merge commit
 +  $ git diff --cached --stat   # resum de fitxers i línies
 +  $ git diff                   # canvis no staged (si n'hi ha)
 +
 +Si hi ha conflictes, ''git status'' mostrarà ''Unmerged paths'' i ''git diff'' et mostrarà els marcadors de conflicte.
 +
 +Quan ja ho hagis vist, desfés-ho tot:
 +  $ git merge --abort
 +
 +O bé, si no hi ha conflictes i vols confirmar el merge, simplement:
 +  $ git commit
  
 \\ \\
git_merge.1791468359.txt.gz · Darrera modificació: 2026/10/08 14:05 per enric_mieza_sanchez