Ako premenovať pobočku v Git


Zhrnutie: Ak chcete premenovať aktuálnu lokálnu vetvu, použite git branch -m new-name. Ak chcete premenovať lokálnu vetvu zvnútra inej, použite git branch -m starý-názov nový-názov. Ak chcete premenovať vzdialenú vetvu, odstráňte ju pomocou príkazu git push origin --delete old-name a potom premenovanú lokálnu vetvu zatlačte pomocou git push origin -u new-name.

Vetvenie je v Gite triviálne cvičenie. Bohužiaľ, triviálnym úlohám sa málokedy venuje náležitá pozornosť a stávajú sa chyby. Ak ste pobočku pomenovali nesprávne, bude potrebné ju premenovať. Tu je postup, ako na to.

Prečo sú názvy pobočiek dôležité v Git

Čokoľvek, čo sa týkalo pobočiek v klasických systémoch správy verzií (VCS), bola veľká vec. Vyžadovalo si to koordinované pochopenie toho, že sa pridáva alebo zlučuje pobočka, a všetci ľudia používajúci toto úložisko sa museli uistiť, že nič neurobili – alebo na niečo zabudli – aby operácia pokračovala a bola úspešná.

Operácie zahŕňajúce pobočky boli tiež často veľmi pomalé. Bola tam časová penalizácia pomocou konárov. Git bol od začiatku navrhnutý tak, aby bol iný. Pretože ide o distribuovaný systém správy verzií, každý používateľ má kópiu úplného úložiska na svojom lokálnom počítači.

Rozvetvenie na vašom lokálnom počítači neovplyvní nikoho iného, pokiaľ vetvu neodovzdáte do vzdialeného úložiska. A v Gite sú operácie pobočiek navrhnuté tak, aby sa dali ľahko používať a zároveň rýchlo dokončiť. Vetvenie v Git je z výpočtového hľadiska veľmi lacné. Je to triviálna akcia vo vnútri lokálneho úložiska.

V skutočnosti sa vývojárom odporúča, aby sa vetvili a často vetvili. Pobočky sú len ďalším nástrojom vo vašom VCS, z ktorého profitujete. Vetvy nie sú v Gite veľké strašidelné veci, sú jednou z jeho najpoužívanejších funkcií.

Ale známosť môže viesť k opovrhovaniu. Alebo aspoň k bežnému hľadaniu ratolestí. Rozvetvenie môže byť v Gite rýchle a jednoduché, ale pri vytváraní vetvy sa stále musíte sústrediť. Je ľahké nesprávne zadať názov pobočky alebo zadať nesprávny názov, čo vedie k nesprávnemu názvu pobočky.

Ak sa má vetva v určitom bode presunúť do vzdialeného úložiska, musí byť správne napísaná. Ak nie, spôsobí to zmätok, keď sa ho ostatní pokúsia použiť.

Pred premenovaním uveďte pobočky v Git

Dobrým prvým krokom je skontrolovať, aké sú aktuálne názvy pobočiek. Príkaz git branch nám vypíše vetvy. Pomocou tohto príkazu môžete vidieť pobočky v lokálnom úložisku:

git branch

Pobočky sú uvedené pre nás. Aktuálna vetva je zvýraznená zelenou farbou a hviezdičkou.

Ak chcete zobraziť vetvy a ich odovzdania, môžete použiť príkaz show-branch.

git show-branch

Vetvy na vzdialenom úložisku môžete vidieť zahrnutím voľby -r (vzdialené).

git branch -r

Ak chcete zobraziť lokálne a vzdialené pobočky jedným príkazom, použite možnosť -a (všetky).

git branch -a

Máme viac lokálnych pobočiek ako vzdialených pobočiek. Vetva „feature16“ ešte nebola presunutá do vzdialeného úložiska. To je len aspekt bežnej prevádzky, nie problém.

Náš problém je, že vetva „feature19“ by mala byť pomenovaná „feature18“. Takže to je chyba, ktorú napravíme.

Ako premenovať miestnu pobočku v Git

Existujú dva spôsoby, ako môžete lokálne premenovať pobočku. Môžete si objednať pobočku a premenovať ju, alebo môžete pobočku premenovať, keď pracujete v inej pobočke.

Ak chcete premenovať aktuálnu pobočku, uistite sa, že ste sa odhlásili a používate pobočku, ktorú chcete premenovať. Potom použite príkaz git branch s voľbou -m (presunúť).

git checkout feature19
git branch -m feature18

Skontrolovali sme pobočku „feature19“ a premenovali sme ju na „feature18“. Pozrime sa, ako teraz vyzerajú naše pobočky.

git branch

Naša pobočka má teraz správny názov v miestnom úložisku.

Ak chcete, môžete premenovať pobočku, keď pracujete v inej pobočke. Tu je príklad, kde pracujeme v „master“ vetve.

git branch

Príkaz, ktorý používame, je rovnaký ako predtým, ale musíme zadať aktuálny názov pre vetvu, ktorú premenúvame, ako aj nový názov, ktorý chceme, aby mala.

git branch -m feature19 feature18
git branch

Pobočka v našom lokálnom úložisku bola opäť premenovaná správnym názvom.

Ako premenovať vzdialenú pobočku v Git

Vzdialené úložisko stále obsahuje vetvu so starým názvom. Ak chcete premenovať vzdialenú vetvu, vymažeme starú vetvu a vložíme novú vetvu.

Ak iní používatelia používajú túto vetvu a zaväzujú sa k nej push, mali by ste pred jej lokálnym premenovaním vykonať stiahnutie. To zaisťuje, že váš lokálny archív je aktuálny a že zmeny vykonané inými používateľmi sa nestratia. Stiahnutie ich zmien späť do vášho úložiska pred lokálnym premenovaním vetvy znamená, že tieto zmeny budú v novej vetve, keď ju vrátite späť do vzdialeného úložiska.

Poďme sa pozrieť na stav našich pobočiek. Na zobrazenie miestnych aj vzdialených pobočiek použijeme možnosť -a (všetky).

git branch -a

Musíme vymazať „feature19“ zo vzdialeného úložiska a pretlačiť „feature18“ do diaľkového ovládača.

git push origin --delete feature19

Zobrazí sa výzva na zadanie hesla pre vzdialené úložisko. Po odstránení sa zobrazí potvrdzujúca správa.

Teraz presunieme našu novú vetvu do diaľkového ovládača a použijeme možnosť -u (nastaviť upstream).

git push origin -u feature18

Opäť budete vyzvaní na zadanie hesla pre diaľkové ovládanie. Nová pobočka sa presunie na diaľkové ovládanie a bolo nám povedané, že pobočka „feature18“ je nastavená na sledovanie zmien v našej lokálnej kópii pobočky.

Pozrime sa ešte raz, v akom stave sú naše lokálne a vzdialené pobočky.

git branch -a

Naša pobočka bola úspešne premenovaná lokálne aj vzdialene a vzdialená pobočka sleduje zmeny v našej lokálnej pobočke.

Premenovanie pobočiek je jednoduché

S Git je premenovanie vetiev jednoduché. Ak ste jediná osoba, ktorá používa úložisko alebo vetvu, ktorá potrebuje premenovanie, je to veľmi jednoduché.

Ak iní zdieľajú pobočku, uistite sa, že ste im oznámili, že sa chystáte premenovať pobočku a že by mali presadzovať všetku neviazanú prácu. Keď zatlačili, môžete vetvu stiahnuť a potom svoju pobočku premenovať lokálne a na diaľku.