Salta el contingut
 

Exercici: Introducció a Git

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Objectius

Aquest exercici permet practicar el flux de treball bàsic d'un repositori local de Git. En acabar, has de saber:

  • Crear i inicialitzar un repositori de Git localment.
  • Afegir fitxers al repositori local.
  • Confirmar canvis en el repositori local.
  • Consultar l'estat del repositori local.
  • Consultar la història de canvis del repositori local.
  • Aplicar les configuracions bàsiques de Git.

Lliurament

No es requereix el lliurament d'aquest exercici per a la certificació del curs.

Exercici

Fes els passos següents en ordre. L'objectiu és observar com canvia l'estat dels fitxers en cada fase del flux de treball.

Comprova l'estat del repositori amb git status i git diff després de cada pas per entendre en quins estats es poden trobar el repositori i els fitxers.

Crea el nou repositori en una carpeta independent per evitar problemes amb els exemples i exercicis anteriors.

  1. Crea un directori anomenat bloc1_exercici en la teua carpeta de treball.
  2. Inicialitza un repositori de Git en aquest directori.
  3. Crea un fitxer anomenat llibres.txt i afig tres llibres que t'agraden.
  4. Fes un primer commit. Tria un missatge significatiu.
  5. Afig un altre llibre a llibres.txt.
  6. Fes un segon commit.
  7. Crea un fitxer anomenat musica.txt i afig tres cançons que t'agraden.
  8. Crea un fitxer anomenat pelicules.txt i afig tres pel·lícules que t'agraden.
  9. Fes un tercer commit que només incloga el fitxer musica.txt.
  10. Crea un fitxer anomenat series.txt i afig tres sèries que t'agraden.
  11. Fes un quart commit que incloga els fitxers pelicules.txt i series.txt.
  12. Modifica el fitxer llibres.txt per a eliminar un dels llibres.
  13. Fes un cinqué commit.
  14. Modifica el fitxer pelicules.txt per a afegir una pel·lícula.
  15. Sense modificar el fitxer manualment, descarta el canvi de pelicules.txt mitjançant una ordre de Git.
  16. Afig el fitxer {data}.log amb qualsevol contingut, on {data} és la data actual en format YYYYMMDD.
  17. Configura el repositori perquè ignore els fitxers amb extensió .log.
  18. Fes un commit amb aquesta configuració.
  19. Crea la carpeta tmp i copia tots els fitxers de text a aquesta carpeta.
  20. Configura el repositori perquè ignore la carpeta tmp.
  21. Fes un commit amb aquesta configuració.
  22. Comprova la història de canvis del repositori.

Estat final

En acabar l'exercici, l'històric del repositori ha de tindre una estructura semblant a aquesta:

jpuigcerver@fp:~/bloc1_exercici (main) $ git lg
* 21c0f2b - (10 minutes ago) Commit del pas 21 - Joan Puigcerver (HEAD -> main)
* 4b0f1a2 - (10 minutes ago) Commit del pas 18 - Joan Puigcerver
* bd1f2a4 - (10 minutes ago) Commit del pas 13 - Joan Puigcerver
* 1fb0c3d - (10 minutes ago) Commit del pas 11 - Joan Puigcerver
* 2c4f3a1 - (10 minutes ago) Commit del pas 9 - Joan Puigcerver
* c9fc6c8 - (10 minutes ago) Commit del pas 6 - Joan Puigcerver
* 8e70293 - (10 minutes ago) Commit del pas 4 - Joan Puigcerver

Tria un missatge significatiu i descriptiu per a cada commit, no com els de l'exemple.

Errors més comuns

A continuació es recullen els errors que apareixen amb més freqüència en aquest exercici.

Ignorar el directori tmp com /tmp

No és ben bé un error, però convé conéixer els diferents patrons que es poden utilitzar per a ignorar el directori tmp, ja que no tots tenen el mateix efecte:

  • tmp: ignora qualsevol fitxer o directori anomenat tmp en qualsevol lloc del repositori.
  • /tmp: ignora el fitxer o directori tmp que es troba en la carpeta arrel del repositori.
  • tmp/: ignora qualsevol directori tmp, en qualsevol lloc del repositori.
  • /tmp/: ignora el directori tmp que es troba en la carpeta arrel del repositori.

Triar missatges poc significatius

Els missatges de commit han de descriure de manera significativa cada canvi, perquè l'historial siga útil quan calga revisar-lo. Alguns exemples de missatges poc significatius són:

  • Primer commit, Segon commit...
  • Canvis, Modificacions, Actualització...
  • Commit del pas X.

Repositoris en OneDrive o equivalents

Si utilitzes OneDrive, Google Drive o qualsevol altre servei de sincronització de fitxers, és recomanable crear el repositori fora d'aquestes carpetes.

Aquests serveis intenten sincronitzar qualsevol canvi del Directori de treball, també quan es navega per les diferents versions del repositori (git switch o git checkout), que es veuen a partir del Bloc 2: Branques. Això pot provocar conflictes i fitxers duplicats.

Bibliografia

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.