En aquest tema, aprendrem com treballar amb repositoris remots per mantenir el nostre repositori local actualitzat amb els canvis realitzats per altres col·laboradors. Ens centrarem en dues operacions clau: fetch
i pull
.
- Entenent
fetch
i pull
fetch
i pull
git fetch
- Definició:
git fetch
descarrega els canvis des del repositori remot però no els integra automàticament en la nostra branca actual. - Ús: És útil per veure els canvis disponibles abans d'integrar-los, permetent revisar-los i decidir quan fusionar-los.
git pull
- Definició:
git pull
és una combinació degit fetch
igit merge
. Descarrega els canvis des del repositori remot i els fusiona automàticament en la nostra branca actual. - Ús: És útil per mantenir la nostra branca actualitzada amb els canvis remots de manera ràpida i senzilla.
- Com utilitzar
git fetch
git fetch
Sintaxi Bàsica
Exemple Pràctic
-
Descarregar Canvis del Remot:
git fetch origin
Això descarregarà els canvis des del remot anomenat
origin
però no els fusionarà automàticament. -
Veure les Branques Remotes:
git branch -r
Això mostrarà les branques remotes disponibles després de fer
fetch
.
Revisar Canvis Després de fetch
Després de fer fetch
, podem revisar els canvis descarregats abans de fusionar-los:
Això mostrarà l'historial de commits de la branca main
del remot origin
.
- Com utilitzar
git pull
git pull
Sintaxi Bàsica
Exemple Pràctic
- Descarregar i Fusionar Canvis:
Això descarregarà els canvis des de la brancagit pull origin main
main
del remotorigin
i els fusionarà automàticament en la nostra branca actual.
Opcions Addicionals
- Rebase en lloc de Merge:
Això farà ungit pull --rebase origin main
rebase
en lloc d'unmerge
, mantenint un historial de commits més lineal.
- Exercicis Pràctics
Exercici 1: Utilitzant git fetch
- Clona un repositori remot:
git clone https://github.com/exemple/repo.git
- Canvia a la branca
develop
:git checkout develop
- Fes un
fetch
dels canvis des del remot:git fetch origin
- Revisa els canvis descarregats:
git log origin/develop
Exercici 2: Utilitzant git pull
- Assegura't que estàs en la branca
main
:git checkout main
- Fes un
pull
dels canvis des del remot:git pull origin main
- Errors Comuns i Consells
Errors Comuns
- Conflictes de Fusió: Poden ocórrer durant un
pull
si hi ha canvis conflictius entre la branca local i la remota. - No Fer
fetch
Regularment: Això pot portar a sorpreses quan finalment es fa unpull
i hi ha molts canvis per fusionar.
Consells
- Revisa els Canvis Abans de Fusionar: Utilitza
git fetch
per revisar els canvis abans de fusionar-los ambgit merge
. - Utilitza
--rebase
per un Historial Netejat: Si prefereixes un historial de commits més lineal, utilitzagit pull --rebase
.
Conclusió
En aquesta secció, hem après com utilitzar git fetch
i git pull
per mantenir el nostre repositori local actualitzat amb els canvis del repositori remot. Hem vist exemples pràctics i exercicis per reforçar els conceptes. Ara estem preparats per gestionar els canvis remots de manera eficient i evitar conflictes innecessaris.
Dominar Git: De Principiant a Avançat
Mòdul 1: Introducció a Git
Mòdul 2: Operacions Bàsiques de Git
- Creant un Repositori
- Clonant un Repositori
- Flux de Treball Bàsic de Git
- Preparant i Cometent Canvis
- Veient l'Historial de Commits
Mòdul 3: Branques i Fusió
- Entenent les Branques
- Creant i Canviant de Branques
- Fusionant Branques
- Resolent Conflictes de Fusió
- Gestió de Branques
Mòdul 4: Treballant amb Repositoris Remots
- Entenent els Repositoris Remots
- Afegint un Repositori Remot
- Recuperant i Traient Canvis
- Empenyent Canvis
- Seguint Branques
Mòdul 5: Operacions Avançades de Git
Mòdul 6: Eines i Tècniques de Git
Mòdul 7: Estratègies de Col·laboració i Flux de Treball
- Forking i Pull Requests
- Revisions de Codi amb Git
- Flux de Treball Git Flow
- GitHub Flow
- Integració Contínua amb Git
Mòdul 8: Millors Pràctiques i Consells de Git
- Escrivint Bons Missatges de Commit
- Mantenint un Historial Netejat
- Ignorant Fitxers amb .gitignore
- Millors Pràctiques de Seguretat
- Consells de Rendiment
Mòdul 9: Resolució de Problemes i Depuració
- Problemes Comuns de Git
- Desfent Canvis
- Recuperant Commits Perduts
- Tractant amb Repositoris Corruptes
- Tècniques Avançades de Depuració