Dins de les eines de col·laboració que ofereixen els serveis d'allotjament de repositoris en línia
com GitHub o GitLab, hi ha dues funcionalitats clau:
Forks: permeten copiar un repositori d'un altre usuari o organització com a propi.
En aquesta còpia, l'usuari pot realitzar canvis, afegir funcionalitats o corregir errors
sense afectar el repositori original.
El fork queda enllaçat amb el repositori original, de manera que es pot mantindre sincronitzat
si el repositori original es modifica.
Pull Requests: permeten sol·licitar la incorporació de canvis d'un repositori a un altre.
Si un usuari ha realitzat canvis en un fork i vol que aquests canvis es incorporin
al repositori original, pot enviar una sol·licitud de pull request. Aquesta sol·licitud
serà revisada pels propietaris del repositori original, que podran acceptar-la o rebutjar-la.
Aquestes dues funcionalitats són essencials per a la col·laboració en projectes
de desenvolupament de programari de manera distribuïda i col·laborativa, sobretot
en projectes de codi obert.
Una bifurcació o fork
és una còpia d'un repositori que pertany a un usuari o organització
com a propi.
En el teu fork pots realitzar qualsevol canvi com:
Corregir errors.
Afegir funcionalitats.
Millorar la documentació.
Adaptar el codi a les teves necessitats.
Un fork sempre està enllaçat amb el repositori original,
de manera que es si es realitzen canvis en el repositori original,
pots decidir incorporar-lo al teu fork.
Exemple de bifurcació de Material for MkDocs
Per a poder realitzar contribucions,
s'ha creat un fork del repositori original.
Incorporar canvis d'un fork a un repositori original.
Incorporar canvis d'una branca a una altra branca.
Aquesta funcionalitat es essencial per a la col·laboració en projectes, especialment els de codi obert.
A més, aquesta funcionalitat pot ser implementada dins d'una estratègia de ramificació.
Per crear un PR, cal accedir al teu fork o branca i fer clic al botó Pull Request.
En el procés de creació d'un PR, es mostrarà una pantalla on es compararan els canvis realitzats
amb la branca de destí i es podrà afegir informació addicional com el títol i la descripció.
Creació d'un Pull Request
A la branca feature/time-range del meu fork podem crear un PR per a incorporar els canvis al repositori original.
En la pantalla de creació d'un PR es poden veure els canvis realitzats en la branca feature/time-range
respecte a la branca de destí verion3.
Una vegada creat la PR, es pot sol·licitar la revisió dels canvis a altres usuaris
i realitzar els canvis necessaris fins a la seva acceptació.
Per a evitar canvis no desitjats en les branques principals
i evitar problemes deguts a una mala aplicació de les Estratègies de ramificació,
les branques importants main i develop poden ser protegides
mitjançant conjunts de regles (Rulesets).
Per configurar les regles de protecció de branques, cal accedir a la configuració del repositori Settings
i buscar l'apartat Rules.
Aquestes regles permeten definir les condicions per modificar la branca especificada,
com ara:
Protegir-les contra creació, modificació o eliminació.