En aquesta secció, aprendrem com empènyer canvis des del nostre repositori local a un repositori remot. Aquesta operació és essencial per compartir el nostre treball amb altres col·laboradors i mantenir el repositori remot actualitzat.
Conceptes Clau
Abans de començar, és important entendre alguns conceptes clau:
- Repositori Local: El repositori que es troba al teu ordinador.
- Repositori Remot: Un repositori que es troba en un servidor remot, com GitHub, GitLab, o Bitbucket.
- Empènyer (Push): L'acció d'enviar els canvis del repositori local al repositori remot.
Com Empènyer Canvis
- Configurar un Repositori Remot
Abans de poder empènyer canvis, necessitem tenir un repositori remot configurat. Si no ho has fet encara, pots afegir un repositori remot amb la següent comanda:
En aquest exemple, origin
és el nom del repositori remot i l'URL és l'adreça del repositori remot.
- Empènyer Canvis al Repositori Remot
Per empènyer els canvis del teu repositori local al repositori remot, utilitza la següent comanda:
En aquest exemple, origin
és el nom del repositori remot i main
és la branca que estem empènyent. Si estàs treballant en una altra branca, substitueix main
pel nom de la teva branca.
- Empènyer Canvis a una Nova Branca
Si vols empènyer canvis a una nova branca que no existeix al repositori remot, pots utilitzar la següent comanda:
Això crearà la nova branca al repositori remot i empènyerà els canvis.
- Empènyer Canvis i Establir Seguiment
Per empènyer canvis i establir la branca local per seguir la branca remota, pots utilitzar la següent comanda:
L'opció -u
(o --set-upstream
) estableix la branca remota com la branca de seguiment per a la branca local.
Exemples Pràctics
Exemple 1: Empènyer Canvis a la Branca Principal
Suposem que has fet alguns canvis a la branca main
i vols empènyer aquests canvis al repositori remot:
Exemple 2: Empènyer Canvis a una Nova Branca
Suposem que has creat una nova branca anomenada feature-x
i vols empènyer els canvis a aquesta nova branca al repositori remot:
git checkout -b feature-x git add . git commit -m "Implementada la funcionalitat X" git push origin feature-x
Exemple 3: Empènyer Canvis i Establir Seguiment
Suposem que vols empènyer canvis a una nova branca feature-y
i establir-la com la branca de seguiment:
git checkout -b feature-y git add . git commit -m "Implementada la funcionalitat Y" git push -u origin feature-y
Errors Comuns i Solucions
Error: "rejected"
Si reps un error com aquest:
Això significa que el teu repositori remot té canvis que no tens al teu repositori local. Per solucionar-ho, primer has de fer un git pull
per obtenir els canvis del repositori remot i després empènyer els teus canvis:
Error: "non-fast-forward"
Si reps un error com aquest:
error: failed to push some refs to 'https://github.com/usuari/nom-del-repositori.git' hint: Updates were rejected because the tip of your current branch is behind
Això significa que el teu repositori local està per darrere del repositori remot. Per solucionar-ho, pots fer un git pull --rebase
per rebasejar els teus canvis sobre els canvis del repositori remot:
Exercicis Pràctics
Exercici 1: Empènyer Canvis a la Branca Principal
- Fes alguns canvis en un fitxer del teu repositori local.
- Afegeix els canvis a l'índex.
- Fes un commit dels canvis.
- Empeny els canvis a la branca
main
del repositori remot.
Exercici 2: Crear i Empènyer Canvis a una Nova Branca
- Crea una nova branca anomenada
feature-z
. - Fes alguns canvis en un fitxer del teu repositori local.
- Afegeix els canvis a l'índex.
- Fes un commit dels canvis.
- Empeny els canvis a la nova branca
feature-z
del repositori remot.
Solucions
Solució a l'Exercici 1
Solució a l'Exercici 2
git checkout -b feature-z git add . git commit -m "Implementada la funcionalitat Z" git push origin feature-z
Conclusió
Empènyer canvis és una operació fonamental en Git que permet compartir el teu treball amb altres col·laboradors i mantenir el repositori remot actualitzat. Hem après com empènyer canvis a la branca principal, a una nova branca, i com establir seguiment per a una branca. També hem vist com solucionar alguns errors comuns que poden sorgir durant el procés d'empènyer canvis. Amb aquesta base, estàs preparat per col·laborar eficaçment en projectes utilitzant Git.
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ó