Cum să verificați o sucursală Git de la distanță

Publicat: 2023-01-23
Laptop Linux afișează un prompt bash
fatmawati achmad zaenuri/Shutterstock.com
Pentru a verifica o ramură dintr-un depozit la distanță, utilizați comanda „git fetch”, apoi „git branch -r” pentru a lista ramurile la distanță. Alegeți ramura de care aveți nevoie și utilizați o comandă de forma „git checkout -b new-branch-name origin/remote-branch-name”. Dacă utilizați mai multe depozite, schimbați partea „origine” a comenzii de checkout cu numele telecomenzii din care doriți să verificați ramura.

Dacă echipa ta de dezvoltare folosește Git, în cele din urmă va trebui să verifici munca altcuiva ca ramură dintr-un depozit de la distanță. La fel ca majoritatea acțiunilor de ramură din Git, trecerea la o ramură la distanță este de fapt destul de simplă.

Cuprins

Git, ramuri și telecomenzi
Găsirea filialelor dvs. locale
Verificarea unei filiale de la distanță
Gestionarea ciocnirilor de nume
Gestionarea mai multor depozite de la distanță
Înainte de a face checkout

Git, ramuri și telecomenzi

Filosofia Git este de a se ramifica des. Ramurile permit dezvoltarea să aibă loc fără a modifica baza codului principal. Când sunteți mulțumit că noul dvs. cod testat este gata, îmbinați noua ramură într-o altă ramură. De obicei, aceasta este ramura principală sau principală, dar puteți îmbina oricare două ramuri.

Datorită acestei flexibilități și a modului ușor și rapid în care Git gestionează ramurile și îmbinările, ramificarea a fost transformată. În sistemele de control ale versiunilor mai vechi, ramificarea era o problemă importantă. Ramificarea și fuzionarea au fost lente și predispuse la erori. Git a oferit dezvoltatorilor o ramificare simplă și rapidă, care este folosită pentru a susține multe fluxuri de lucru diferite.

Dacă lucrați sau vă voluntar ca parte a unei echipe de dezvoltare care folosește Git, veți avea un depozit Git „central”, la distanță de la computerul fiecărui inginer software. Acesta este cunoscut sub numele de depozit la distanță sau doar „la distanță”. Acolo sunt trimise commit-urile și modificările aduse depozitului dvs. local atunci când efectuați un push.

Desigur, asta fac și ceilalți dezvoltatori. Acest lucru facilitează colaborarea. Dacă trebuie să accesați munca altui dezvoltator, trebuie doar să preluați codul acestuia dintr-o ramură din depozitul de la distanță. Dacă trebuie să vă acceseze munca, vă vor prelua codul dintr-o ramură din depozit care urmărește una dintre filialele dvs. locale.

În Git, un proiect de dezvoltare poate avea mai multe telecomenzi. Cu toate acestea, o sucursală locală poate urmări doar o singură sucursală la distanță. Așadar, atâta timp cât lucrați cu telecomandă corespunzătoare, verificarea unei sucursale la distanță cu mai multe telecomenzi este aceeași cu utilizarea unei singure telecomenzi.

Găsirea filialelor dvs. locale

Trebuie să evitați conflictele de nume. Dacă aveți o sucursală locală care se întâmplă să aibă același nume cu sucursala de la distanță pe care urmează să o verificați, aveți două opțiuni. Puteți redenumi filiala locală și puteți verifica filiala la distanță. În acest fel, sucursala dvs. locală care urmărește ramura la distanță are același nume ca și ramura la distanță. Sau puteți verifica ramura de la distanță și îi spuneți lui Git să creeze o ramură locală de urmărire cu un nume nou.

Pentru a afla numele ramurilor din depozitul dvs. local, utilizați comanda git branch .

 ramură git 

Listarea sucursalelor locale cu comanda git branch

Acest depozit local are o ramură principală și alte trei ramuri. Asteriscul indică care este ramura curentă. Pentru a trece de la o ramură la alta necesită verificarea sucursalei cu care doriți să lucrați.

 git checkout nou-funcție
 starea git 

Verificarea unei sucursale locale cu comanda git checkout

Prima comandă schimbă ramura pentru noi, astfel încât „funcția nouă” este ramura curentă. Comanda git status verifică asta pentru noi.

Putem sări înainte și înapoi între ramuri, comitând noi modificări, trăgând actualizări de la telecomandă și împingând actualizări locale către telecomandă.

RELATE: Cum să actualizați și să mențineți ramuri Git separate

Verificarea unei filiale de la distanță

Există o ramură în depozitul de la distanță care nu este prezentă pe mașina noastră. Un dezvoltator numit Mary a creat o nouă caracteristică. Vrem să trecem la acea ramură la distanță, astfel încât să putem construi acea versiune a software-ului la nivel local.

Dacă efectuăm o fetch , Git va retrage metadatele din depozitul de la distanță.

 git fetch 

Folosind comanda git fetch pentru a prelua metadatele despre un depozit la distanță

Deoarece aceasta este prima fetch pe care am făcut-o de când Mary și-a împins ramura către depozitul de la distanță, ni se spune că există o nouă ramură numită „origin/mary-feature”. Numele implicit pentru primul depozit la distanță adăugat la un proiect este „origin”.

Indiferent dacă vedem acest mesaj sau nu, putem oricând să îi cerem lui Git să listeze ramurile din depozitul de la distanță.

Opțiunea -r (la distanță) îi spune lui Git să raporteze ramurile care se află în depozitul de la distanță.

 git branch -r 

Folosind comanda git branch -r pentru a lista ramurile de la distanță

Ideea de remarcat aici este că Git își verifică copia locală a metadatelor telecomenzii. De aceea am folosit comanda git fetch pentru a ne asigura că copia locală a metadatelor este actualizată.

Cum să alegi fluxul de lucru Git și modelul de ramificare potrivit pentru echipa ta
RELATE Cum să alegi fluxul de lucru Git și modelul de ramificare potrivit pentru echipa ta

Odată ce găsim sucursala pe care o dorim, putem merge mai departe și o verificăm. Folosim comanda git checkout cu opțiunea -b (ramură), urmată de numele pe care îl vom folosi pentru ramura locală, urmat de numele ramurii la distanță.

 git checkout -b mary-feature origine/mary-feature 

Verificarea unei sucursale la distanță cu comanda git checkout -b

Putem vedea că am verificat ramura la distanță și am creat o ramură locală care va urmări modificările din ramura la distanță.

 ramură git 

Listarea ramurilor locale cu comanda git branch, cu copia nou creată a ramurii la distanță selectată ca ramură curentă

Noua noastră filială locală este acum actuala noastră filială de lucru.

Gestionarea ciocnirilor de nume

Dacă aveți o sucursală locală care are același nume ca și sucursala la distanță, puteți fie să redenumiți sucursala locală înainte de a verifica ramura la distanță, fie să verificați sucursala la distanță și să specificați un alt nume de sucursală locală.

Pentru a verifica ramura de la distanță într-o ramură locală cu nume diferit, putem folosi aceeași comandă pe care am folosit-o mai devreme și alegem un nou nume de ramură locală.

 git checkout -b mary-test origine/mary-feature 

Verificarea unei sucursale la distanță cu comanda git checkout -b cu ramura locală având un nume diferit de ramura la distanță

Acest lucru creează o ramură locală numită „mary-test” care va urmări comiterile locale către acea ramură. Push-urile vor merge la ramura de la distanță „origin/mary-feature”.

Acesta este probabil cel mai bun mod de a gestiona ciocnirile locale de nume. Dacă doriți cu adevărat să păstrați același nume pentru ramura locală și cea de la distanță, va trebui să redenumiți sucursala locală înainte de a verifica telecomanda. Redenumirea unei ramuri este banală în Git.

 git branch -m mary-feature vechi-mary-branch 

Redenumirea unei ramuri cu comanda git branch -m

Acum puteți verifica ramura „origine/mary-feature” de la distanță.

Gestionarea mai multor depozite de la distanță

Dacă aveți mai multe depozite la distanță configurate, trebuie să aveți grijă să lucrați cu depozitul corespunzător atunci când verificați ramura la distanță.

Pentru a vă lista depozitele la distanță, utilizați comanda de la remote cu opțiunea -v (vizualizare).

 git remote -v 

Listarea depozitelor la distanță cu comanda git remote -v

Pentru a vedea toate ramurile disponibile, trebuie să preluăm metadatele de la toate telecomenzile noastre, apoi să listăm ramurile de la distanță.

 git fetch --all
 git branch --all 

Folosind git fetch --all pentru a actualiza metadatele locale și folosind git branch --all pentru a lista toate ramurile, locale și la distanță

Putem vedea că ramura pe care o dorim este în telecomanda „de origine”. Comanda de verificare este în același format pe care l-am folosit deja. Trebuie să specificăm numele de la distanță, „origine”, precum și numele sucursalei, „mary-feature”.

 git checkout -b mary-feature origine/mary-feature 

Verificarea unei sucursale la distanță cu comanda git checkout -b, folosind numele de la distanță și numele sucursalei

LEGATE: Cum să comutați, să adăugați și să eliminați telecomenzile Git

Înainte de a face checkout

Înainte de a plăti, țineți cont de câteva lucruri și veți fi bine.

Asigurați-vă că evitați ciocnirile de nume. Dacă aveți o sucursală locală cu același nume ca și ramura la distanță, decideți dacă veți redenumi sucursala locală sau creați o ramură cu un alt nume pentru a urmări ramura la distanță.

Dacă utilizați mai multe depozite de la distanță, asigurați-vă că utilizați telecomanda corectă.

RELATE: Git rebase: Tot ce trebuie să știți