git checkout în Git

Comandă multifuncțională clasică pentru comutarea ramurilor sau restaurarea fișierelor din istoric.

Sintaxă comandă
git checkout [opțiuni] [ramură/commit] [-- fișiere...]

Ce face git checkout

Comanda git checkout este una dintre cele mai cunoscute din Git, dar avea responsabilități multiple: naviga între ramuri, descărca commit-uri istorice și suprascria fișiere locale.

În versiunile moderne de Git, funcționalitățile sale au fost împărțite curat între git switch (pentru ramuri) și git restore (pentru fișiere), dar checkout rămâne pe deplin suportat pentru compatibilitate.

Opțiuni și argumente

Opțiune / Parametru Descriere
-b NUME Creează o ramură nouă și comută direct pe ea (echivalent cu git switch -c).
-- fișier Restaurează fișierul la versiunea din ultimul commit, anulând modificările nesalvate (echivalent cu git restore).
commit Trece depozitul în starea ‘detached HEAD’ la commit-ul indicat.

Exemple

Exemplul 1: Crearea clasică a unei ramuri cu checkout -b

Comanda tradițională folosită pe scară largă în tutoriale și scripturi.

git init -b main demo_co >/dev/null
cd demo_co
git config user.name "Test" && git config user.email "test@exemplu.ro"
touch test && git add test && git commit -m "init" >/dev/null
git checkout -q -b bugfix/tichete
git branch --show-current

Rezultat

bugfix/tichete

Greșeli frecvente

  • Confuzia cauzată de dublul rol: git checkout nume trece pe ramura cu acel nume, în timp ce git checkout -- nume suprascrie fișierul cu acel nume anulând modificările din el!

Comenzi înrudite

  • git switch: Comută pe o altă ramură sau creează și trece pe o ramură nouă.
  • git restore: Restaurează fișierele din directorul de lucru sau scoate modificările din zona de staging.
  • git branch: Listează, creează, redenumește sau șterge ramuri (branches) de dezvoltare.