Salta el contingut
 

Forks

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Forks i Pull Requests

Entre les ferramentes de col·laboració que ofereixen els serveis d'allotjament de repositoris en línia, com GitHub, GitLab o Codeberg, hi ha dues funcionalitats clau:

  • Forks: permeten copiar com a propi un repositori d'una altra persona o organització. En aquesta còpia es poden fer 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 canvia.

  • Pull Requests: permeten sol·licitar la incorporació de canvis d'un repositori en un altre. Si una persona ha fet canvis en un fork i vol que s'incorporen al repositori original, pot enviar una pull request. Les persones propietàries del repositori original la revisaran i podran acceptar-la o rebutjar-la.

Aquestes dues funcionalitats són essencials per a col·laborar de manera distribuïda en projectes de desenvolupament de programari, sobretot en projectes de codi obert.

Forks

Una bifurcació (fork) és una còpia d'un repositori que passa a pertànyer a una persona o organització com a propi. En el teu fork pots fer qualsevol canvi, com ara:

  • Correccions: corregir errors.
  • Funcionalitats: afegir funcionalitats noves.
  • Documentació: millorar la documentació.
  • Adaptacions: adaptar el codi a les teues necessitats.

Un fork sempre està enllaçat amb el repositori original. Per tant, si el repositori original canvia, pots decidir incorporar-ne els canvis al teu fork.

Estructura de treball amb forks i pull requests

Figura 1. Estructura de treball amb forks i pull requests.

Exemple: Bifurcació de Material for MkDocs

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

Repositori original de Material for MkDocs

Figura 2. Repositori Material for MkDocs.

Per a poder fer-hi contribucions, s'ha creat un fork del repositori original.

Repositori de Material for MkDocs bifurcat

Figura 3. Repositori Material for MkDocs bifurcat.

Creació d'un fork

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

Exemple: Creació d'un fork de Material for MkDocs

La imatge següent mostra el menú de creació d'un fork del repositori Material for MkDocs.

Creació d'un fork

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

Sincronització amb el repositori original

Si el repositori original té canvis nous des que es va crear el fork, pots incorporar-los al teu fork per a mantindre'l actualitzat amb el botó Sync fork.

Exemple: Sincronització amb el repositori original

El repositori original Material for MkDocs té canvis nous (concretament, 34 commits nous), de manera que es pot sincronitzar el fork.

Sincronització amb el repositori original

Figura 5. Sincronització d'un fork amb el repositori original Material for MkDocs.

Pull Request

Per a contribuir al repositori original, es pot crear una sol·licitud d'incorporació de canvis o Pull Request, que es presenta en els apunts següents.

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