Cum să verificați o sucursală Git de la distanță
Publicat: 2023-01-23Dacă 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ă.
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
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
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
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
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ă.
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
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
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
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
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
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
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
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