Salta el contingut
 

Forks

Joan Puigcerver Ibáñez

j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Forks i Pull Requests

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 incorporen 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.

Forks

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 per exemple:

  • Corregir errors.
  • Afegir funcionalitats.
  • Millorar la documentació.
  • Adaptar el codi a les teues 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-los al teu fork.

Estructura de treball amb Forks i Pull Requests

Figura 1. Estructura de treball amb Forks i Pull Requests

Exemple de bifurcació de Material for MkDocs

La següent imatge mostra el repositori de Material for MkDocs

Repositori Material for MkDocs original

Figura 2. Repositori Material for MkDocs

Per a poder realitzar contribucions, s'ha creat un fork del repositori original.

Repositori Material for MkDocs bifurcat

Figura 3. Repositori Material for MkDocs bifurcat

Creació d'un Fork

Per crear un fork d'un repositori, cal accedir a la pàgina del repositori i fer clic al botó Fork que apareix a la part superior dreta.

Creació d'un fork de Material for MkDocs

Vegem el menú de creació d'un fork en el repositori Material for MkDocs.

Creació d'un fork

Figura 4. Creació d'un fork en el repositori Material for MkDocs

Sincronització amb el repositori original

Si el repositori original ha realitzat nous canvis des de la creació del fork, pots incorporar-los al teu fork per mantindre'l actualitzat amb el botó Sync fork.

Sincronització amb el repositori original

Com que el repositori original Material for MkDocs té nous canvis (concretament 34 nous commits), podem sincronitzar el nostre _fork.

Sincronització amb el repositori original

Figura 5. Sincronització amb el repositori original en el repositori Material for MkDocs

Pull Request

En cas que volguérem contribuir al repositori original, podem crear una sol·licitud d'incorporació de canvis o Pull Request, que veurem en els següents apunts.

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.