El control de versions és una pràctica essencial en el desenvolupament de programari que permet gestionar els canvis en el codi font al llarg del temps. Aquesta pràctica és fonamental per a treballar en equips, mantenir l'historial de canvis i revertir errors de manera eficient.

Què és el Control de Versions?

El control de versions és un sistema que registra els canvis realitzats en un fitxer o conjunt de fitxers al llarg del temps, de manera que puguis recuperar versions específiques més tard. Els sistemes de control de versions (VCS) són eines que ajuden a gestionar aquests canvis.

Tipus de Sistemes de Control de Versions

  1. Sistemes de Control de Versions Locals (LVCS):

    • Emmagatzemen les versions de fitxers en el mateix ordinador on es treballa.
    • Exemple: RCS (Revision Control System).
  2. Sistemes de Control de Versions Centralitzats (CVCS):

    • Emmagatzemen totes les versions de fitxers en un servidor central.
    • Exemple: Subversion (SVN).
  3. Sistemes de Control de Versions Distribuïts (DVCS):

    • Cada desenvolupador té una còpia completa de l'historial del projecte.
    • Exemple: Git, Mercurial.

Git: Un Sistema de Control de Versions Distribuït

Git és un dels sistemes de control de versions més populars i utilitzats en el desenvolupament de programari. A continuació, es presenten alguns conceptes i comandes bàsiques de Git.

Conceptes Clau de Git

  1. Repositori (Repository): Un repositori és una col·lecció de fitxers i l'historial de canvis d'aquests fitxers.
  2. Commit: Un commit és un registre de canvis realitzats en el repositori.
  3. Branch: Una branch és una línia de desenvolupament independent dins del repositori.
  4. Merge: Un merge combina canvis de diferents branches en una sola branch.
  5. Clone: Clonar un repositori és crear una còpia del repositori en el teu ordinador local.

Comandes Bàsiques de Git

Inicialitzar un Repositori

git init

Aquesta comanda crea un nou repositori Git en el directori actual.

Clonar un Repositori

git clone https://github.com/usuari/repo.git

Aquesta comanda clona un repositori remot en el teu ordinador local.

Afegir Fitxers al Repositori

git add fitxer.txt

Aquesta comanda afegeix un fitxer específic a l'àrea d'staging.

git add .

Aquesta comanda afegeix tots els fitxers modificats a l'àrea d'staging.

Realitzar un Commit

git commit -m "Missatge del commit"

Aquesta comanda crea un nou commit amb els canvis de l'àrea d'staging.

Veure l'Historial de Commits

git log

Aquesta comanda mostra l'historial de commits del repositori.

Crear una Nova Branch

git branch nom-de-la-branch

Aquesta comanda crea una nova branch.

Canviar de Branch

git checkout nom-de-la-branch

Aquesta comanda canvia a la branch especificada.

Fusionar Branches

git merge nom-de-la-branch

Aquesta comanda fusiona la branch especificada amb la branch actual.

Pujar Canvis a un Repositori Remot

git push origin nom-de-la-branch

Aquesta comanda puja els commits de la branch especificada al repositori remot.

Baixar Canvis d'un Repositori Remot

git pull

Aquesta comanda baixa els canvis del repositori remot i els fusiona amb la branch actual.

Exercicis Pràctics

Exercici 1: Inicialitzar un Repositori i Realitzar un Commit

  1. Inicialitza un nou repositori Git en un directori buit.
  2. Crea un fitxer anomenat hola.txt i afegeix-hi el text "Hola, món!".
  3. Afegeix el fitxer a l'àrea d'staging.
  4. Realitza un commit amb el missatge "Primer commit".

Solució

mkdir nou-repo
cd nou-repo
git init
echo "Hola, món!" > hola.txt
git add hola.txt
git commit -m "Primer commit"

Exercici 2: Crear i Fusionar Branches

  1. Crea una nova branch anomenada nova-funcio.
  2. Canvia a la branch nova-funcio.
  3. Modifica el fitxer hola.txt per afegir-hi el text "Nova funció".
  4. Realitza un commit amb el missatge "Afegida nova funció".
  5. Torna a la branch main.
  6. Fusiona la branch nova-funcio amb la branch main.

Solució

git branch nova-funcio
git checkout nova-funcio
echo "Nova funció" >> hola.txt
git add hola.txt
git commit -m "Afegida nova funció"
git checkout main
git merge nova-funcio

Errors Comuns i Consells

  1. Oblidar-se de fer git add: Si no afegeixes els fitxers a l'àrea d'staging, els canvis no es commitejaran.
  2. Conflictes de fusió: Quan dos desenvolupadors modifiquen la mateixa part d'un fitxer, pot haver-hi conflictes de fusió. Revisa i resol els conflictes manualment.
  3. No fer commits freqüents: Fer commits freqüents amb missatges descriptius ajuda a mantenir un historial clar i facilita la depuració.

Resum

El control de versions és una eina poderosa per gestionar els canvis en el codi font i col·laborar amb altres desenvolupadors. Git és un dels sistemes de control de versions més populars, i conèixer les seves comandes bàsiques és essencial per a qualsevol desenvolupador. Practicar amb Git t'ajudarà a comprendre millor com gestionar els teus projectes de programari de manera eficient i col·laborativa.

© Copyright 2024. Tots els drets reservats