Salta el contingut

MP08 - UF4: Els ters estats dels fitxers en git

Els tres estats

Els tres estats

Una de les coses més importants per a entendre git és conèixers els tres estats en què pot estar un fitxer del repositori. Git té tres estats bàsics en els que pot estar un fitxer del repositori: modificat (modified), preparat (staged) i confirmat (committed).

  • Modificat - Modified: significa que s'ha modificat el fitxer però encara no ha estat confirmat a la base de dades.

  • Preparat - Staged: significa que s'ha marcat un fitxer modificat, en la seva versió actual, per tal que vagi a la propera confirmació.

  • Confirmat - Commited: significa que les dades estan emmagatzemades de manera segura a la base de dades local.

Un fitxer, abans d'entrar a la roda del git, es diu que està en un estat anterior als que hem vist, l'estat Untracked, sense rastreig

lifecycle.png

En blau tenim les accions dutes a terme amb comandes git

Així, doncs, també podem dir que tenim tres seccions en tot projecte git: El directori de git (Git directory), el directori de treball (working directory) i l'àrea de preparació (staging area).

  • El directori de git és on s'emmagatzemen les metadades i la base de dades dels objectes del projecte. És la part més important de Git, y és el que es copia quan clonem un repositorio des d'una altra localització.

  • El directori de treball es una copia d'una versió del projecte. Aquests fitxers es treuen de la base de dades comprimida del directori de Git, i se col·loquen en disc per tal que els poguem utilitzar o mdificar.

  • l'àrea de preparació és un fitxer, normalment al directori de Git, que emmagatzema informació sobre el que posarem en la propera confirmació. Sovint de l'anomena índex (index), però darrerament de l'anomena àrea de preparació.

El fluxe de treball bàsic en Git és quelcom així:

  • Modifiques una sèrie de fitxers del teu directori de treball.

  • Prepares els fitxers, afegint-los a l¡àrea de preparació.

  • Confirmes els canvis, de manera que s'agafen els fitxers tal i como estan a l'àrea de preparació i s'emmagatzema aquesta còpia instantània de manera permanent al teu directori de Git.

Si una versió concreta d'un fitxer està en el directori de Git, es considera confirmada (committed). Si ha tingut canvis des de que s'ha obtingut del repositori, però s'ha afegit a l'àrea de proparació, està preparada (staged). I si ha tingut canvis des de que s'ha obtingut del repositori, però no s'ha preparat, està modificada (modified)