Posted in

Git – Treballant amb el repositori local

1. Crear un projecte nou amb Git

1. Obre el terminal (pots fer-ho des de VS Code o des del terminal de Windows).

2. Abans de començar, configura el teu nom i correu electrònic a Git:

 git config --global user.name "El teu nom" 
git config --global user.email "el_teu_correo@example.com" 

3. Escriu això per crear una carpeta nova i entrar-hi:

mkdir git-test
cd git-test

4. Ara crearem el fitxer index.html:

echo "<!DOCTYPE html><html><head><title>Prova Git</title></head><body><h1>Hola món!</h1></body></html>" > index.html

5. Obre aquesta carpeta amb VS Code (si no ho has fet):

code .

6. Inicialitzem un repositori Git dins aquesta carpeta:

git init

Això crea una carpeta .git (invisible), on es guarda tot l’historial de versions.

2. Canviar la branca principal de master a main

Si no tenim definida cap branca per defecte a escala global, Git continuarà utilitzant el valor històric per defecte: master. Podem definir cada vegada la branca com a main:

git branch -m master main

O podem definir la branca a escala global, per tant, cada vegada que fem git init, la branca per defecte serà main:

git config --global init.defaultBranch main

Ara, si executem a Powershell el següent comandament, hauriem de veure la branca main per defecte:

git config --global init.defaultBranch

3. Primer commit (foto del moment actual)

1. Comprova l’estat dels arxius:

git status

Et dirà que tens un fitxer nou (index.html).

2. Afegeix-lo al staging (preparat per fer commit), en el cas de ser un sol arxiu:

git add index.html

O tots els arxius disponibles:

git add .

Si vols desfer tots els arxius que hagis afegit:

 git reset 

3. Fes el primer commit:

git commit -m "Primera versió de la pàgina"

Ara tens una “foto” del projecte com està ara.

4. Crear una branca per provar coses

Imagina que vols provar un canvi, però no vols espatllar la branca principal (main).

1. Creem una nova branca:

git checkout -b nova-seccio

Ara estàs treballant en una línia paral·lela, anomenada nova-seccio.

2. Fes un canvi al fitxer index.html, per exemple, canvia <h1>Hola món!</h1> per:

<h1>Hola món! Ara amb una nova secció ?</h1>

3. Desa l’arxiu i fes un commit:

git add index.html
git commit -m "Afegida nova secció a l'HTML"

5. No volem el que hem estat provant a la nova branca i la volem eliminar

git branch -D nova-seccio

6. O ens agrada el que hem fet. Tornem a la branca principal i ajuntem els canvis

1. Torna a la branca principal:

git checkout main

2. Comprova el contingut del fitxer index.html. Veuràs que encara no hi ha el canvi.

3. Ajuntem el canvi que has fet:

git merge nova-seccio

Ara sí, el canvi s’ha afegit a main.

7. Simular un error i fer marxa enrere

Imagina que algú (o Copilot) et fa un canvi que no vols.

1. Fes un canvi dolent a l’HTML, com per exemple:

<h1>ERROR!!!</h1>

2. Desa i fes un commit:

git add index.html
git commit -m "Oops, canvi erroni"

3. Vols fer marxa enrere? Fes això:

git log --oneline

Veuràs l’historial. Copia l’ID del commit anterior (ex: a1b2c3d).

4. Ara desfem el commit erroni:

git revert a1b2c3d

(El sistema crearà un nou commit que desfà el canvi.)

8. Configurar el teu nom i correu electrònic a Git

Perquè Git sapigui qui està realitzant els commits, cal configurar el teu nom i correu electrònic. Afegeix-ho a la configuració global (perquè es faci servir en tots els projectes) o a nivell de projecte (només per a aquest projecte en concret).

1. Configura el teu nom d’usuari a nivell global:

 git config --global user.name "El teu nom" 

2. Configura el teu correu electrònic a nivell global:

 git config --global user.email "el_teu_correo@example.com" 

Si vols configurar només el nom i correu electrònic per a un projecte en concret, omet el paràmetre --global:

 git config user.name "El teu nom" git config user.email "el_teu_correo@example.com" 

Comprova que els valors estan configurats correctament amb:

 git config --global user.name git config --global user.email 

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.