4. Anàlisi de l’historial de revisions

Igual que qualsevol altre sistema de control de versions, el Git desa un historial complet amb totes les revisions del projecte, emmagatzemant els canvis fets en cada commit. Per tant, es poden comparar diferents versions, comprovar accions passades i restaurar versions anteriors.

Hi ha disponibles ordres diverses amb les quals analitzar l’historial d’un projecte. L’ordre git show mostra els detalls de l’últim commit; donarà l’ID de revisió, l’autor, la data, el missatge i un diff amb els canvis. L’ordre git log mostra una línia breu per cadascun dels commits de l’historial; en la pàgina de manual es pot trobar informació sobre com controlar el que es mostra i el que no.

L’ordre git log nom_de_fitxer pot resultar particularment útil, ja que només mostra els commits que afecten al nom_de_fitxer. A més, es pot tindre una eixida d’una sola línia molt més agradable amb:
git log pretty=oneline.
# Altres opcions, apart de oneline, són short, medium, full, fuller, email i raw

Els commits tenen IDs alfanumèrics llargs que són la conseqüència d’una interessant característica de seguretat del Git: El nom de cada commit s’obté calculant un hash a partir dels continguts del commit, de manera que es garanteix l’historial (no es poden canviar els continguts del commit sense canviar-li el nom), de manera que aquest nom és únic globalment.

Per tant, a l’hora de treballar amb altres persones, totes saben que es tracta d’eixe commit, independentment d’en quin repositori es troben. Òbviament, treballar amb aquests noms de revisió és més tediós, però el Git autocompleta el nom de revisió en indicar-li els primers caràcters (a més del fet que sempre es pot copiar i enganxar).

L’ordre git diff mostra les diferències entre l’última versió enviada i la còpia local. Per a veure les diferències entre dues versions anteriors s’usa:
git diff commitID1 commitID2

Per a revertir (és a dir, cancel·lar) un commit, s’utilitza:
git revert commitID

Per restaurar un arbre complet a la darrera revisió:
git checkout

Vigileu amb aquesta última ordre ja que sobreescriurà tots els canvis locals.

Article anterior

Article següent

Els comentaris estan tancats.