git switch în Git

Comută pe o altă ramură sau creează și trece pe o ramură nouă.

Sintaxă comandă
git switch [opțiuni] ramură

Ce face git switch

Comanda git switch a fost introdusă în Git 2.23 ca o comandă simplificată și intuitivă dedicată exclusiv navigării între ramuri.

Opțiunea -c (create) combină crearea și comutarea pe o ramură nouă într-un singur pas, înlocuind comanda veche git checkout -b.

Opțiuni și argumente

Opțiune / Parametru Descriere
-c NUME, --create NUME Creează o ramură nouă și comută imediat pe ea.
- Comută înapoi pe ramura anterioară (similar cu cd - în terminal).
-d, --detach Comută pe un commit specific în starea detașată (detached HEAD), util pentru inspectare temporară.

Exemple

Exemplul 1: Crearea și activarea unei ramuri noi într-un singur pas

Opțiunea -c creează ramura și mută indicatorul HEAD pe ea.

git init -b main demo_sw >/dev/null
cd demo_sw
git config user.name "Test" && git config user.email "test@exemplu.ro"
touch app && git add app && git commit -m "init" >/dev/null
git switch -q -c feature/login
git branch --show-current

Rezultat

feature/login

Greșeli frecvente

  • Încercarea de a schimba ramura când ai fișiere modificate în directorul de lucru care intră în conflict cu fișierele din ramura destinație: Git va refuza comutarea pentru a nu-ți suprascrie codul. În acest caz, trebuie să faci commit sau să salvezi temporar cu git stash.

Comenzi înrudite

  • git branch: Listează, creează, redenumește sau șterge ramuri (branches) de dezvoltare.
  • git checkout: Comandă multifuncțională clasică pentru comutarea ramurilor sau restaurarea fișierelor din istoric.
  • git restore: Restaurează fișierele din directorul de lucru sau scoate modificările din zona de staging.