git add în Git

Adaugă modificările din directorul de lucru în zona de pregătire (staging area/index) pentru următorul commit.

Sintaxă comandă
git add [opțiuni] fișiere...

Ce face git add

Comanda git add selectează ce fișiere modificate, create sau șterse vor face parte din următorul instantaneu (commit). În terminologia Git, fișierele adăugate devin staged.

Poți adăuga fișiere individuale (git add fisier.txt), toate fișierele din directorul curent (git add .) sau bucăți specifice de cod dintr-un fișier mare în mod interactiv cu git add -p.

Opțiuni și argumente

Opțiune / Parametru Descriere
. (punct) Adaugă toate fișierele modificate, nou create sau șterse din directorul curent și subdirectoare.
-A, --all Adaugă toate modificările din întregul depozit, indiferent de subdirectorul în care te afli.
-u, --update Adaugă doar fișierele deja urmărite care au fost modificate sau șterse (ignoră fișierele noi).
-p, --patch Mod interactiv: permite revizuirea și adăugarea bucată cu bucată (hunk) a modificărilor dintr-un fișier.

Exemple

Exemplul 1: Adăugarea unui fișier în zona de staging

Creăm un fișier și îl adăugăm în staging, observând indicatorul ‘A’ în status.

git init -b main demo_add >/dev/null
cd demo_add
echo "Cod sursa" > main.py
git add main.py
git status -s

Rezultat

A  main.py

Greșeli frecvente

  • Rularea mecanică a lui git add . fără a verifica git status, adăugând accidental fișiere temporare, jurnale sau fișiere de mediu confidențiale.
  • Modificarea unui fișier DUPĂ ce ai rulat git add: Git salvează în staging doar versiunea fișierului de la momentul comenzii add. Pentru a include și modificările ulterioare, trebuie să rulezi git add din nou.

Comenzi înrudite

  • git commit: Înregistrează un nou instantaneu permanent al fișierelor din staging în istoricul depozitului.
  • git status: Afișează starea fișierelor: modificate, pregătite pentru commit (staged) sau neurmărite (untracked).
  • git restore: Restaurează fișierele din directorul de lucru sau scoate modificările din zona de staging.
  • git reset: Mută indicatorul ramurii curente (HEAD) la un commit anterior și ajustează staging-ul sau fișierele locale.