Mantenir un historial de commits net i organitzat és essencial per a la col·laboració efectiva i la gestió de projectes a llarg termini. Un historial net facilita la comprensió dels canvis realitzats, la depuració de problemes i la revisió de codi. En aquesta secció, explorarem diverses tècniques i millors pràctiques per mantenir un historial de commits net.

  1. Escrivint Bons Missatges de Commit

Un bon missatge de commit és clar, concís i informatiu. Ha de proporcionar suficient context perquè altres desenvolupadors entenguin el canvi sense haver de llegir el codi.

Estructura Recomanada:

  • Línia de capçalera: Resum breu del canvi (màxim 50 caràcters).
  • Línia en blanc: Separació entre la capçalera i el cos.
  • Cos del missatge: Descripció detallada del canvi, si és necessari (màxim 72 caràcters per línia).

Exemple:

Corregit error de validació en el formulari de registre

- Afegida validació per al camp de correu electrònic
- Actualitzats els missatges d'error per a més claredat
- Afegides proves unitàries per a la nova validació

  1. Utilitzant Commits Atòmics

Els commits atòmics són petits i enfocats a un sol canvi o millora. Això facilita la revisió de codi i la identificació de problemes.

Bones Pràctiques:

  • Un commit per funcionalitat: Cada commit ha de representar un canvi lògic complet.
  • Evitar commits massius: No incloure múltiples canvis no relacionats en un sol commit.

Exemple:

Afegida funcionalitat de restabliment de contrasenya

- Creat formulari de restabliment de contrasenya
- Afegida lògica de backend per gestionar les sol·licituds de restabliment
- Enviat correu electrònic de restabliment amb enllaç únic

  1. Reescrivint l'Historial amb git rebase

El rebase permet reescriure l'historial de commits per fer-lo més net i lineal. Això és especialment útil per netejar commits de desenvolupament abans de fusionar-los a la branca principal.

Com Utilitzar git rebase:

  • Rebase interactiu: Permet editar, combinar o eliminar commits.
git rebase -i HEAD~n

On n és el nombre de commits que vols reescriure.

Exemple:

pick e5e6a1d Afegida funcionalitat de restabliment de contrasenya
squash 3f4e2b1 Correcció d'error en la funcionalitat de restabliment

  1. Fusionant Commits amb git squash

El squash combina múltiples commits en un de sol, ideal per netejar l'historial abans de fusionar branques.

Com Utilitzar git squash:

  • Durant un rebase interactiu: Canvia pick per squash en els commits que vols combinar.
git rebase -i HEAD~3
  • Durant una fusió: Utilitza l'opció --squash.
git merge --squash feature-branch

  1. Utilitzant git cherry-pick

El cherry-pick permet aplicar commits específics d'una branca a una altra, mantenint l'historial net i controlat.

Com Utilitzar git cherry-pick:

git cherry-pick <commit-hash>

Exemple:

git cherry-pick e5e6a1d

  1. Evitant Commits Temporals

Evita fer commits temporals o de treball en progrés (WIP) a la branca principal. Utilitza branques de característiques o git stash per emmagatzemar canvis temporals.

Com Utilitzar git stash:

git stash

Per recuperar els canvis:

git stash pop

Exercici Pràctic

Objectiu:

Practicar la creació de commits atòmics i l'ús de git rebase per mantenir un historial net.

Passos:

  1. Crea una nova branca:
git checkout -b neteja-historial
  1. Fes diversos canvis petits i crea commits atòmics:
echo "Primera funcionalitat" > fitxer.txt
git add fitxer.txt
git commit -m "Afegida primera funcionalitat"

echo "Segona funcionalitat" >> fitxer.txt
git add fitxer.txt
git commit -m "Afegida segona funcionalitat"
  1. Utilitza git rebase per combinar els commits:
git rebase -i HEAD~2
  1. Canvia pick per squash en el segon commit i guarda els canvis.

Solució:

Després de fer el rebase, l'historial hauria de mostrar un sol commit amb els canvis combinats.

Conclusió

Mantenir un historial de commits net és crucial per a la col·laboració i la gestió de projectes. Utilitzant bons missatges de commit, commits atòmics, i eines com git rebase i git squash, pots assegurar-te que l'historial del teu projecte sigui clar i fàcil de seguir. Practica aquestes tècniques regularment per millorar la qualitat del teu codi i la col·laboració amb el teu equip.

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