Ako skontrolovať vzdialenú pobočku Git


Zhrnutie: Ak chcete zarezervovať vetvu zo vzdialeného úložiska, použite príkaz git fetch a potom git branch -r na zobrazenie vzdialených vetiev. Vyberte pobočku, ktorú potrebujete, a použite príkaz v tvare git checkout -b nový-názov-pobočky pôvod/vzdialený-názov-pobočky. Ak používate viacero úložísk, zmeňte pôvodnú časť príkazu checkout na názov vzdialeného zariadenia, z ktorého chcete vykonať pokladňu.

Ak váš vývojový tím používa Git, nakoniec budete musieť skontrolovať prácu niekoho iného ako pobočka zo vzdialeného úložiska. Rovnako ako väčšina akcií pobočiek v Git, prepnutie na vzdialenú pobočku je v skutočnosti celkom jednoduché.

Git, pobočky a diaľkové ovládače

Filozofiou Git je často vetviť. Vetvy umožňujú vývoj bez zmeny hlavnej kódovej základne. Keď ste spokojní, že váš nový, testovaný kód je pripravený, zlúčite svoju novú vetvu do inej vetvy. Zvyčajne ide o hlavnú alebo hlavnú vetvu, ale môžete zlúčiť ľubovoľné dve vetvy.

Vďaka tejto flexibilite a ľahkému a rýchlemu spôsobu, akým Git spracováva vetvy a zlúčenia, sa vetvenie zmenilo. V starších systémoch na správu verzií bolo vetvenie veľkým problémom. Vetvenie a zlučovanie boli pomalé a náchylné na chyby. Git poskytol vývojárom jednoduché a rýchle vetvenie, ktoré sa používa na podporu mnohých rôznych pracovných postupov.

Ak pracujete alebo dobrovoľne pracujete ako súčasť vývojového tímu používajúceho Git, budete mať „centrálne“ úložisko Git vzdialené od počítača každého softvérového inžiniera. Toto je známe ako vzdialené úložisko alebo len „vzdialené“. Je to miesto, kam sa odosielajú potvrdenia a zmeny do vášho lokálneho úložiska, keď vykonáte push.

Samozrejme, že to robia aj ostatní vývojári. To uľahčuje spoluprácu. Ak potrebujete získať prístup k práci iného vývojára, stačí získať jeho kód z pobočky na vzdialenom úložisku. Ak potrebujú prístup k vašej práci, získajú váš kód z pobočky v úložisku, ktorá sleduje jednu z vašich miestnych pobočiek.

V systéme Git môže mať vývojový projekt viacero diaľkových ovládačov. Miestna pobočka však môže sledovať iba jednu vzdialenú pobočku. Ak teda pracujete s príslušným diaľkovým ovládačom, kontrola vzdialenej pobočky s viacerými diaľkovými ovládačmi je rovnaká ako používanie jedného diaľkového ovládača.

Vyhľadanie miestnych pobočiek

Musíte sa vyhnúť konfliktom mien. Ak máte miestnu pobočku, ktorá má náhodou rovnaký názov ako vzdialená pobočka, ktorú sa chystáte odhlásiť, máte dve možnosti. Môžete premenovať svoju miestnu pobočku a skontrolovať vzdialenú pobočku. Týmto spôsobom bude mať vaša lokálna pobočka, ktorá sleduje vzdialenú pobočku, rovnaký názov ako vzdialená pobočka. Alebo si môžete zarezervovať vzdialenú pobočku a povedať Gitu, aby vytvoril lokálnu sledovaciu vetvu s novým názvom.

Ak chcete zistiť názvy vetiev vo vašom lokálnom úložisku, použite príkaz git branch.

git branch

Toto lokálne úložisko má hlavnú pobočku a tri ďalšie pobočky. Hviezdička označuje, ktorá je aktuálna vetva. Presun z pobočky na pobočku si vyžaduje odhlásenie pobočky, s ktorou chcete pracovať.

git checkout new-feature
git status

Prvý príkaz nám zmení vetvu tak, že „new-feature“ je aktuálna vetva. Príkaz git status to overí za nás.

Môžeme preskakovať tam a späť medzi pobočkami, vykonávať nové zmeny, sťahovať aktualizácie zo vzdialeného zariadenia a prenášať lokálne aktualizácie na vzdialené.

Kontrola vzdialenej pobočky

Na vzdialenom úložisku je pobočka, ktorá sa nenachádza na našom počítači. Vývojár s názvom Mary vytvoril novú funkciu. Chceme prejsť na túto vzdialenú pobočku, aby sme mohli zostaviť túto verziu softvéru lokálne.

Ak vykonáme načítanie, Git stiahne metadáta zo vzdialeného úložiska.

git fetch

Pretože toto je prvé načítanie, ktoré sme vykonali, odkedy Mary poslala svoju vetvu do vzdialeného úložiska, bolo nám povedané, že existuje nová vetva s názvom „origin/mary-feature“. Predvolený názov pre prvé vzdialené úložisko pridané do projektu je „origin“.

Či už túto správu vidíme alebo nie, vždy môžeme požiadať Git o zoznam pobočiek vo vzdialenom úložisku.

Voľba -r (remote) hovorí Gitu, aby hlásil vetvy, ktoré sú vo vzdialenom úložisku.

git branch -r

Tu treba poznamenať, že Git kontroluje svoju lokálnu kópiu metadát diaľkového ovládača. Preto sme použili príkaz git fetch, aby sme sa uistili, že lokálna kópia metadát je aktuálna.

Akonáhle nájdeme pobočku, ktorú chceme, môžeme pokračovať a skontrolovať ju. Používame príkaz git checkout s voľbou -b (vetva), za ktorou nasleduje názov, ktorý použijeme pre lokálnu pobočku, a za ním názov vzdialenej pobočky .

git checkout -b mary-feature origin/mary-feature

Vidíme, že sme skontrolovali vzdialenú pobočku a vytvorili lokálnu pobočku, ktorá bude sledovať zmeny vo vzdialenej pobočke.

git branch

Naša nová miestna pobočka je teraz našou súčasnou pracovnou pobočkou.

Riešenie konfliktov mien

Ak máte lokálnu pobočku, ktorá má rovnaký názov ako vzdialená pobočka, môžete buď premenovať svoju lokálnu pobočku pred odhlásením vzdialenej pobočky, alebo môžete vzdialenú pobočku zarezervovať a zadať iný názov lokálnej pobočky.

Na zaplatenie vzdialenej pobočky do inak pomenovanej lokálnej pobočky môžeme použiť rovnaký príkaz, aký sme použili predtým, a zvoliť nový názov lokálnej pobočky.

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

Tým sa vytvorí lokálna vetva s názvom „mary-test“, ktorá bude sledovať miestne odovzdania tejto vetvy. Stlačenia prejdú do vzdialenej vetvy „origin/mary-feature“.

Toto je pravdepodobne najlepší spôsob riešenia konfliktov miestnych mien. Ak naozaj chcete zachovať rovnaký názov lokálnej a vzdialenej pobočky, musíte pred odhlásením vzdialenej pobočky premenovať svoju miestnu pobočku. Premenovanie pobočky je v Git triviálne.

git branch -m mary-feature old-mary-branch

Teraz máte jasno v pokladni vzdialenej vetvy „origin/mary-feature“.

Obsluha viacerých vzdialených úložísk

Ak máte nakonfigurovaných viacero vzdialených úložísk, musíte si dať pozor, aby ste pri kontrole vzdialenej pobočky pracovali s príslušným repozitárom.

Ak chcete zobraziť zoznam vzdialených repozitárov, použite príkaz remote s voľbou -v (zobrazenie).

git remote -v

Aby sme videli všetky dostupné pobočky, musíme získať metadáta zo všetkých našich diaľkových ovládačov a potom uviesť vzdialené pobočky.

git fetch --all
git branch --all

Vidíme, že pobočka, ktorú chceme, je v diaľkovom ovládači „origin“. Príkaz na kontrolu je v rovnakom formáte, aký sme už použili. Musíme špecifikovať vzdialený názov „origin“, ako aj názov pobočky „mary-feature“.

git checkout -b mary-feature origin/mary-feature

Pred pokladňou

Pred pokladňou majte na pamäti niekoľko vecí a budete v poriadku.

Uistite sa, že sa vyhýbate stretom mien. Ak máte lokálnu pobočku s rovnakým názvom ako vzdialená pobočka, rozhodnite sa, či premenujete lokálnu pobočku alebo vytvoríte pobočku s iným názvom na sledovanie vzdialenej pobočky.

Ak používate viacero vzdialených úložísk, uistite sa, že používate správne diaľkové ovládanie.