git worktree în Git

Permite lucrul simultan pe mai multe ramuri în directoare fizice separate, folosind același depozit local.

Sintaxă comandă
git worktree [subcomandă] [opțiuni]

Ce face git worktree

În mod obișnuit, pentru a lucra pe o altă ramură trebuie să comuți directorul de lucru (ceea ce necesită stash sau commit). Cu git worktree, poți crea un folder separat conectat la același depozit .git.

Astfel, poți avea deschise în paralel două sau trei ramuri în directoare diferite pe disc (de exemplu pentru a rula teste lungi pe main în timp ce dezvolți un feature nou pe altă ramură).

Opțiuni și argumente

Opțiune / Parametru Descriere
add CALE [RAMURĂ] Creează un nou director de lucru conectat la ramura specificată.
list Listează toate directoarele de lucru active asociate acestui depozit.
remove CALE Șterge un director de lucru secundar.
prune Curăță informațiile despre directoarele de lucru șterse manual de pe disc.

Exemple

Exemplul 1: Crearea unui al doilea director de lucru pentru un hotfix

Deschidem ramura de hotfix într-un folder separat fără a ne întrerupe munca curentă.

git worktree add ../proiect-hotfix bugfix/tva

Ieșire în terminal

Preparing worktree (checking out 'bugfix/tva')
HEAD is now at 8f9e0d1

Greșeli frecvente

  • Încercarea de a deschide aceeași ramură în două directoare worktree diferite simultan (Git interzice acest lucru pentru a preveni conflictele directe de scriere).

Comenzi înrudite

  • git switch: Comută pe o altă ramură sau creează și trece pe o ramură nouă.
  • git branch: Listează, creează, redenumește sau șterge ramuri (branches) de dezvoltare.
  • git clone: Descarcă și creează o copie locală completă a unui depozit aflat la distanță (ex. GitHub).