Git este un instrument de control al versiunilor care vă permite să întrețineți și să vizualizați diferite versiuni ale aplicației dvs. Când o nouă actualizare vă rupe aplicația, Git vă permite să reveniți la aceste modificări la versiunea anterioară.

În plus față de versiuni, Git vă permite să lucrați în mai multe medii în același timp. Medii multiple în acest context înseamnă ramuri.

De ce ai nevoie de ramuri

Când lucrați cu git, veți avea un mediu master (numit și principal) (ramură). Această ramură specială deține codul sursă care este implementat atunci când aplicația dvs. este pregătită pentru producție.

Când doriți să vă actualizați aplicația, puteți adăuga și mai multe confirmări (modificări) la această ramură. Pentru modificări minore, este posibil să nu fie o mare problemă, dar pentru schimbări mari, acest lucru nu este ideal. Și de aceea există și alte ramuri.

Pentru a crea și utiliza o ramură nouă, utilizați următoarea comandă în terminalul dvs. din directorul proiectului:

# create a new branch
git branch branch-name
# change environment to the new branch
git checkout branch-name

Pe această nouă ramură, puteți crea noile modificări. Apoi, când ați terminat, le puteți îmbina cu ramura principală.

Un alt avantaj al sucursalelor este că permit mai multor dezvoltatori să lucreze simultan la același proiect. Dacă aveți mai mulți dezvoltatori care lucrează pe aceeași ramură master, poate fi dezastruos. Aveți prea multe modificări între codul fiecărui dezvoltator și acest lucru se termină de obicei prin conflicte de îmbinare.

Cu Git, puteți sări pe o altă ramură (un alt mediu) și să faceți modificări acolo, în timp ce munca continuă în alte ramuri.

Ce înseamnă Git Checkout Remote Branch?

Când începeți un proiect cu Git, veți obține două medii: ramura principală locală (care există în computerul dvs.) și ramura principală la distanță (care există pe o platformă acceptată de Git, cum ar fi GitHub).

Puteți împinge modificările de la ramura master locală la ramura master la distanță și, de asemenea, trage modificările de la ramura la distanță.

Când creați o ramură locală, aceasta există doar local până când este împinsă la GitHub unde devine ramura la distanță. Acest lucru este prezentat în următorul exemplu:

# create a new branch
git branch new-branch
# change environment to the new branch
git checkout new-branch
# create a change
touch new-file.js
# commit the change
git add .
git commit -m "add new file"
# push to a new branch
git push --set-upstream origin new-branch

Din exemplul de mai sus, origin new-branch devine ramura îndepărtată. După cum probabil ați observat, am creat o nouă sucursală și am făcut o schimbare înainte de a ne îndrepta către noua sucursală la distanță.

Dar dacă ramura îndepărtată exista deja și am fi vrut să tragem ramura și toate modificările acesteia în mediul nostru local?

Acolo suntem „Git Checkout Remote Branch”.

Cum să Git Checkout Remote Branch

Să presupunem că există o ramură la distanță creată de un alt dezvoltator și că doriți să trageți acea ramură. Iată cum procedați:

1. Aduceți toate ramurile îndepărtate

git fetch origin

Aceasta preluează toate ramurile la distanță din depozit. origin este numele la distanță pe care îl vizați. Deci dacă ai avea un upstream nume de la distanță, puteți apela git fetch upstream.

2. Enumerați sucursalele disponibile pentru plată

Pentru a vedea sucursalele disponibile pentru plată, executați următoarele:

git branch -a

Ieșirea acestei comenzi este lista ramurilor disponibile pentru checkout. Pentru ramurile la distanță, le veți găsi cu prefix remotes/origin.

3. Trageți modificările dintr-o ramură la distanță

Rețineți că nu puteți efectua modificări direct pe o ramură la distanță. Prin urmare, aveți nevoie de o copie a acelei filiale. Spuneți că ați vrut să copiați ramura la distanță fix-failing-tests, iată cum ați face-o:

git checkout -b fix-failing-tests origin/fix-failing-tests

Ceea ce face acest lucru este:

  • creează o nouă ramură numită fix-failing-tests
  • aceasta checkouts acea ramură
  • trage schimbări de la origin/fix-failing-tests la acea ramură

Și acum aveți o copie a acelei ramuri la distanță. De asemenea, puteți împinge comitetele către acea ramură la distanță. De exemplu, faceți push un nou commit așa:

touch new-file.js
git add .
git commit -m "add new file"
git push

Acest lucru va împinge modificările angajate la origin/fix-failing-tests. Dacă ați observat, nu a trebuit să specificăm unde împingeam modificările (cum ar fi git push origin fix-failing-tests). Asta pentru că git setează automat ramura locală pentru a urmări ramura la distanță.

Concluzie

Ramificarea Git facilitează colaborarea în timpul dezvoltării aplicației.

Cu sucursale, diferiți dezvoltatori pot lucra cu ușurință simultan pe diferite părți ale aplicației.

Cu ajutorul sucursalei la distanță, colaborarea devine chiar mai simplă, deoarece dezvoltatorii pot copia și sucursalele la distanță la nivel local pe sistemele lor, pot face modificări și pot împinge către ramurile la distanță.