Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia Ultima revisió Ambdós costats nova versio | ||
vcs [2022/09/19 18:21] enrique_mieza_sanchez |
vcs [2022/09/19 19:08] enrique_mieza_sanchez |
||
---|---|---|---|
Línia 29: | Línia 29: | ||
\\ | \\ | ||
- | |||
===== Branques ===== | ===== Branques ===== | ||
- | |||
Una de les missions importants d'un VCS és la de facilitar el treball en equip. Això s' | Una de les missions importants d'un VCS és la de facilitar el treball en equip. Això s' | ||
+ | |||
+ | {{ branch-scrum.gif? | ||
Exemple1: Branques d'un repositori orientades a desenvolupament amb metodologia Scrum. | Exemple1: Branques d'un repositori orientades a desenvolupament amb metodologia Scrum. | ||
- | {{ branch-scrum.gif? | ||
- | Exemple2: | + | ===== Branques orientades a desplegament |
- | {{ branches6.png? | + | Habitualment tindrem, com a mínim, 3 branques: dev, pre i pro |
+ | |||
+ | {{ branches6.png? | ||
Originem una branca a partir d'un punt de versió concret o //commit//. A partir d' | Originem una branca a partir d'un punt de versió concret o //commit//. A partir d' | ||
- | Quan volem incorporar els canvis fets a la branca realitzem un **// | + | ===== Merge: fusió de branques ===== |
- | {{ vcs-merge.png? | + | Quan volem incorporar els canvis fets d'una branca a una altra realitzem un **//merge//**. |
+ | **Aquesta operació és delicada i implica refer tots els tests necessaris per assegurar-nos que el codi fusionat continua funcionant**. | ||
+ | |||
+ | {{ vcs-merge.png? | ||
\\ | \\ | ||
Línia 55: | Línia 59: | ||
Exemples d' | Exemples d' | ||
- | {{vcs-centralitzat.png?300}} {{vcs-distribuit.png? | + | {{ vcs-centralitzat.png }} |
- | En canvi, un **sistema de control de versions | + | Per exemeple, quan un desenvolupador havia d' |
+ | |||
+ | ===== VCS distribuït ===== | ||
+ | |||
+ | {{ vcs-distribuit.png }} | ||
+ | |||
+ | En canvi, un **sistema de control de versions | ||
Exemples de sistemes de control de versions: | Exemples de sistemes de control de versions: | ||
Línia 84: | Línia 94: | ||
- | ==== Com funciona Git ==== | + | ===== Com funciona Git ===== |
- | Mostrem en images | + | Mostrem en imatges |
- | ---- | + | {{ git1.png? |
- | {{git1.png }} | ||
Comencem desenvolupant un projecte en local. | Comencem desenvolupant un projecte en local. | ||
- | ---- | + | Prem abaix per seguir la seqüència: |
- | {{ git2.png}} | + | ==== Clonació ==== |
Un segon desenvolupador fa una còpia del nostre projecte. | Un segon desenvolupador fa una còpia del nostre projecte. | ||
- | ---- | + | {{ git2.png? |
- | {{git3.png }} | + | ==== Afegint codi ==== |
Cada desenvolupador segueix treballant individualment. | Cada desenvolupador segueix treballant individualment. | ||
- | ---- | + | {{ git3.png? |
- | {{ git4.png}} | + | ==== Més codi ==== |
Els canvis de cadascun no afecten l' | Els canvis de cadascun no afecten l' | ||
- | ---- | + | {{ git4.png?600 }} |
- | + | ||
- | {{git5.png }} | + | |
+ | ==== Fetch ==== | ||
El desenvolupador principal descarrega els canvis que ha fet el 2n desenvolupador. | El desenvolupador principal descarrega els canvis que ha fet el 2n desenvolupador. | ||
- | ---- | + | {{ git5.png? |
- | {{ git6.png}} | + | ==== Merge ==== |
- | ...i els barreja | + | Combina |
- | ---- | + | {{ git6.png? |
- | {{git7.png }} | + | ==== Fetch (2) ==== |
Finalment, el segon desenvolupador descarrega els canvis del primer, amb els seus propis canvis integrats. | Finalment, el segon desenvolupador descarrega els canvis del primer, amb els seus propis canvis integrats. | ||
- | ---- | + | {{ git7.png? |
- | + | ||
- | \\ | + | |
\\ | \\ | ||
Línia 133: | Línia 138: | ||
Disposar de Git és una gran cosa, però també cal seguir unes bones pràctiques a l'hora de crear i administrar les branques. | Disposar de Git és una gran cosa, però també cal seguir unes bones pràctiques a l'hora de crear i administrar les branques. | ||
+ | ===== Distribuït però centralitzat ===== | ||
+ | Amb **" | ||
- | ==== Distribuït però centralitzat | + | Un projecte en Git pot ser centralitzat |
- | Amb Git es sol utilitzar un esquema " | + | {{ centr-decentralized-vcs.png? |
- | O sigui, que un determinat projecte Git pot ser centralitzat per conveniència, | ||
- | {{centr-decentralized-vcs.png? | + | ===== Model exitós: git-flow ===== |
- | + | ||
- | + | ||
- | ==== Model exitós ==== | + | |
Fa 10 anys [[https:// | Fa 10 anys [[https:// | ||
+ | {{ hotfix-branches.png? | ||
- | {{ hotfix-branches.png? | + | ===== Caraterístiques del "git-flow" ===== |
- | En aquest | + | A l' |
- | | + | * Main branches, existeixen sempre |
- | * **master** : actualment | + | * **main** : abans es deia " |
- | * **develop** | + | * **develop** |
- | | + | |
- | * Feature branch | + | * Feature branch |
- | * Release branch : pre / pro | + | * Release branch : **pre** (preproducció) |
- | * Hotfix branch | + | * Hotfix branch |
- | + | ||
- | \\ | + | |
- | + | ||
- | \\ | + | |
- | + | ||
- | \\ | + | |
\\ | \\ |