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

  1. 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:

git remote add origin https://github.com/usuari/nom-del-repositori.git

En aquest exemple, origin és el nom del repositori remot i l'URL és l'adreça del repositori remot.

  1. Empènyer Canvis al Repositori Remot

Per empènyer els canvis del teu repositori local al repositori remot, utilitza la següent comanda:

git push origin main

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.

  1. 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:

git push origin nom-de-la-branca

Això crearà la nova branca al repositori remot i empènyerà els canvis.

  1. 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:

git push -u origin nom-de-la-branca

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:

git add .
git commit -m "Afegit un nou fitxer"
git push origin main

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:

! [rejected]        main -> main (fetch first)

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:

git pull origin main
git push origin main

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:

git pull --rebase origin main
git push origin main

Exercicis Pràctics

Exercici 1: Empènyer Canvis a la Branca Principal

  1. Fes alguns canvis en un fitxer del teu repositori local.
  2. Afegeix els canvis a l'índex.
  3. Fes un commit dels canvis.
  4. Empeny els canvis a la branca main del repositori remot.

Exercici 2: Crear i Empènyer Canvis a una Nova Branca

  1. Crea una nova branca anomenada feature-z.
  2. Fes alguns canvis en un fitxer del teu repositori local.
  3. Afegeix els canvis a l'índex.
  4. Fes un commit dels canvis.
  5. Empeny els canvis a la nova branca feature-z del repositori remot.

Solucions

Solució a l'Exercici 1

git add .
git commit -m "Fet alguns canvis"
git push origin main

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

Mòdul 3: Branques i Fusió

Mòdul 4: Treballant amb Repositoris Remots

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

Mòdul 8: Millors Pràctiques i Consells de Git

Mòdul 9: Resolució de Problemes i Depuració

Mòdul 10: Git en el Món Real

© Copyright 2024. Tots els drets reservats