name: portada class: portada-slide, center, middle # Git ### Control de versions --- # Branques - Branca __master__: és la branca principal de desenvolupament (per defecte) - Ramificacions -> tu has agafat la branca principal de desenvolupament (master) i has continuat treballant sense seguir la branca principal de desenvolupament. ??? La rama “master” en Git, no es una rama especial. Es como cualquier otra rama. La única razón por la cual aparece en casi todos los repositorios es porque es la que crea por defecto el comando git init y la gente no se molesta en cambiarle el nombre. --- # Branques - Es crea un nou __apuntador__ ``` git branch testing ``` .full_width[![img](img/two-branches.png)] --- # Branques - HEAD apunta a la branca on ets ara. .full_width[![img](img/head-to-master.png)] --- # Branques ``` git checkout testing ``` .full_width[![img](img/head-to-testing.png)] --- # Branques ``` nano test.rb git commit -a -m 'made a change' ``` .full_width[![img](img/advance-testing.png)] --- # Branques ``` git checkout master ``` .full_width[![img](img/checkout-master.png)] --- # Branques ``` nano test.rb git commit -a -m 'made other changes' ``` .full_width[![img](img/advance-master.png)] ??? Saltar entre branques canvia arxius del teu directorio de treball --- # Branques ``` merge testing ``` .full_width[![img](img/merge.png)] --- # Branques .full_width[![img](img/octopus_branch.png)] --- # Branques - Creem una branca ``` git branch NOM_BRANCA ``` - Ens movem a una branca ``` git checkout NOM_BRANCA ``` - Creem una branca i ens hi movem ``` git checkout -b NOM_BRANCA ``` --- # Branques - Unim una branca amb l'actual ``` git merge NOM_BRANCA ``` - Podem eliminar una branca amb ``` git branch -d NOM_BRANCA ``` --- # Conflictes - Sovint diferents branques modifiquen un mateix fitxer - A l'hora de fer el merge de les diferents modificacions podem tenir un conflicte - Git no sap com crear un unic fitxer amb les modificacions de les dues versions - Haurem de fer la unió manual --- # Conflictes - __<<<<<<< HEAD__ ens indica el contigut que tenim - __>>>>>>> branch-a__ ens indica el contigut de la branca que volem fer el merge - Un cop editat i solucionat em de fer un __add__ i un __commit__ ``` El meu correu és <<<<<<< HEAD otelbruixot@itb.cat ======= felixelgat@itb.cat >>>>>>> branch-a ``` --- # Tags - Podem posar nom a una versió: tag ``` git tag -a versio -m "descripcio" ``` ``` git tag -a v1.4 -m "my version 1.4" ``` - Creem una branca, amb el contingut d'un tag ``` git checkout -b nom_branca versio ``` ``` git checkout -b bug_v14 v1.4 ``` --- # Utilitats https://learngitbranching.js.org/ --- # Bibliografia - https://git-scm.com/book/en/v2 - http://rogerdudler.github.io/git-guide/index.es.html Imatges: - https://gerardnico.com/code/version/git/branch - https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging