Práce s větvemi v Gitu a GitHubu

V našich předchozích cvičeních pro software pro správu verzí git jsme se naučili základní základní příkazy pro používání git, as a také jak pracovat s Github.com na vytvoření úložiště a odeslání našeho kódu projektu na web.

Nyní je čas začít skutečně pracovat s GitHub (a git) tak, jak mají být použité: bezpečné provedení změn v projektu na jednu stranu a jejich sloučení zpět do původního projektu, jakmile se ukáží jako správné. Nebo alespoň ne katastrofické.

Nyní chápete, že git ukládá každou verzi vašeho projektu jako snímek kódu přesně tak, jak to bylo v okamžiku, kdy jste jej spáchali. Postupné vytváření časové osy verzí projektu, abyste se mohli v případě katastrofy vrátit zpět na dřívější verzi.

Způsob, jakým tuto časovou osu spravuje git a GitHub – zejména když je více než jedna osoba pracuje v projektu a provádí změny – je to pomocí poboček. Pobočka je v podstatě jedinečná sada změn kódu s jedinečným názvem. Každé úložiště může mít jednu nebo více větví. Hlavní větev – ta, kde se všechny změny nakonec spojí zpět do a nazývá se hlavní. Toto je oficiální pracovní verze vašeho projektu a ta, kterou uvidíte, když navštívíte repozitář projektu na github.com/yourname/projectname.

Nedělejte si starosti s masterem. Pokud provedete změny v hlavní větvi skupinového projektu, zatímco na něm pracují také další lidé, vaše okamžité změny se zvlní, aby ovlivnily všechny ostatní, a velmi rychle dojde ke konfliktům sloučení, pláču, roztržení oděvů, a rány kobylky. Je to tak vážné.

Proč je pán tak důležitý, aby si s ním nedělal problémy? Jedno slovo: hlavní větev je nasaditelná. Je to váš produkční kód, připravený k zavedení do světa. Hlavní větev má být stabilní a jedná se o společenskou smlouvu softwaru s otevřeným zdrojovým kódem, aby nikdy, nikdy nezasunula nic, co by otestovalo, co není testováno, nebo které rozbije sestavení. Celý důvod, proč GitHub funguje, je ten, že je vždy bezpečné pracovat z předlohy.

Větvení

Místo toho každý používá větve vytvořené z předlohy k experimentování, provádění úprav a doplňování a změn , než tuto větev nakonec vrátíte zpět do hlavní, jakmile budou schváleny a je známo, že fungují. Master se poté aktualizuje tak, aby obsahoval všechny nové věci.

Chcete-li začít pracovat na něčem novém v projektu nebo změnit stávající věci, vytvořte větev ze stabilní hlavní větve. Pojďme pokračovat v práci s ukázkovým projektem vytvořeným pro náš předchozí tutoriál, dobrý ol ‘studious_octo_carnival. Nyní prosím otevřete svou verzi na svém počítači a CD do adresáře.

Krok 1: Proveďte inventář.

Před vytvořením nových větví chceme zkontrolovat, zda neobsahují další existující větve. . Víme o pánovi, ale kdo ví, co naši spolupracovníci na projektu mohou dělat, ty šibalské opice? Můžeme tedy zobrazit všechny existující větve zadáním „git branch -a“ do terminálu, což řekne git, že chceme vidět VŠECHNY větve v tomto projektu, i ty, které nejsou v našem místním pracovním prostoru.

Tím se vrátí výstup, který vidíte v níže uvedeném příkladu kódu. Jeho vzhled se může poněkud lišit v závislosti na vašem operačním systému a aplikaci terminálu, ale informace jsou nakonec stejné. Hvězdička vedle „master“ v prvním řádku výstupu znamená, že jsme aktuálně na této pobočce. Druhý řádek nám říká, že na našem vzdáleném pojmenovaném původu je jediná větev, která se také nazývá master. (Nezapomeňte, že náš dálkový ovladač je repozitářem GitHub pro tento projekt.)

Krok 2: Vytvoření nové větve

Nyní, když víme, jak zobrazit větve, vytvořme si jednu! Postupně mějte na paměti, že máme naši hlavní větev, náš původní projekt. Nyní vytvoříme novou verzi projektu, pobočku, se kterou si můžeme pohrát a provádět místní změny v našem počítači – zatímco původní verze projektu, hlavní, zůstává bezpečně nahoře na GitHubu. Nové větvi dáme popisný název, který nám připomene, co hodláme dělat, když v ní pracujeme. V tomto případě to bude jednoduchá věc „Hello World“, tak ji nazveme hello_octo.

Chcete-li vytvořit tuto novou větev, zadejte „git checkout -b branchNameHere“ (v našem případě tedy „git checkout -b hello_octo“).

Za předpokladu, že nikdo jiný již nevytvořil větev s názvem „hello_octo“, git vrátí „Přepnuto na novou větev ‚hello_octo‘.“ (V případě, že pobočka s tímto názvem již existuje, namísto toho nám git řekne „fatální: Pobočka s názvem ‚hello_octo‘ již existuje.“ Žádný velký problém, stačí znovu provést git checkout -b s novou variantou názvu).

Můžeme také použít příkaz git checkout k přepínání mezi dvěma větvemi. Chcete-li přepnout na tuto větev, zadejte „git checkout branchName“.Takže „git checkout master“ vás vezme k zvládnutí, zatímco „git checkout hello_octo“ vás vrátí zpět do větve hello_octo.

Pokud se pokusíte přepnout na větev, která neexistuje, například „git checkout hello_kitty“, git vás upozorní, že nejde o cestu:

Jak git ví, na které pobočce se právě nacházíte? Git vždy sleduje, co děláte, a udržuje speciální ukazatel s názvem HEAD. Stejně jako jehla na kompasu vždy ukazuje na sever, HEAD vždy označuje místní pobočka, na které se aktuálně nacházíte.

(Mohli jsme také vytvořit naši pobočku pomocí příkazu git „git branch branchNameHere“ a poté na ni přepnout pomocí git checkout. Úhledná malá zkratka s „-b“ v „git checkout -b branchNameHere“ oba vytvářejí větev A přepíná na ni. Nemohu vám říci, kolik kodérů new-to-git generuje chybové zprávy a frustraci, protože si jednoduše nepamatovali změnu své nové větve po vytvoření i t. Proto se držíme git checkout -b, mmmkay?)

Provádění změn v naší pracovní větvi

Nyní máme několik poboček – naši pracovní větev, kde můžeme provádět změny, a naše hlavní pobočka zůstává bezpečně nerušená – můžeme se pustit do práce. V našem scénáři použijeme k provedení a testování našich větví naši pobočku „hello_octo“ a poté je vrátíme zpět do hlavní větve na GitHubu.

Nezapomeňte se ujistit, že jste na svém pracovní větev, a ne hlavní, se starou dobrou větví git -a.

Krok 3. Vytvořte nový prázdný soubor s názvem „hello_octo_world“:

(Tento prázdný soubor slouží pouze pro demonstrační účely, takže se nemusíte obávat, že neexistuje název / typ přípony souboru.)

Jelikož je zcela nový, správně nyní je tento soubor pouze na vaší pobočce. K jeho zobrazení použijte příkaz „ls“:

Připomeňme si však, že jsme v naší pracovní větvi, hello_octo, kde vytvořili jsme tuto novou věc. Mistr neví nic o žádném hello_octo, protože je bezpečně izolován od jakýchkoli chtivých změn, které zde na pracovní větvi provádíme. Je to stále stejný klidně nezměněný mistr, s nímž jsme začali:

Krok 4: Připravte náš nový soubor do pracovní větve.

Nyní je čas připravit (přidat) a zavázat náš nový soubor na pracovní větvi. (Zní to povědomě?). Tím se tato nová entita připojí k pracovní větvi v rámci přípravy na její případné převedení na hlavní. Tento soubor nyní existuje ve větvi hello_octo; jak jsme viděli výše, v současné době na hlavní větvi neexistuje.

V tomto okamžiku jste právě vzali snímek změn pobočky. V reálném projektu existuje pravděpodobně více změn a práce je třeba udělat. Teď je to, kdy byste to šli dělat, dělat v této věci závazky v logických bodech. Nezapomeňte, že na GitHubu představují potvrzení vaše po sobě jdoucí uložení. Každé potvrzení má přidruženou zprávu o potvrzení, což je popis, který konkrétně vysvětluje, co jste tam udělali a proč. Zprávy o potvrzení zachycují historii vašich změn, takže vy i další přispěvatelé projektu budete moci pochopit, co jste provedli a proč.

Sloučení kódu mezi větvemi

Jakmile budeme jsou konečně hotové se všemi změnami a doplňky – a vše funguje * – je čas na sloučení. Zajímavá část přichází poté, co přepneme zpět na naši hlavní větev (což – řekněme to se mnou! – děláme to s „git checkout master“). Zdá se, že chybí „Hello_octo_world“, ale není – aktuálně v naší práci existuje pobočka a jsme na naší hlavní pobočce. Ukazuji vám to znovu, protože je to jádro porozumění větvím v git:

Nyní: v tomto cvičení „hello_octo_world“ představuje jakoukoli změnu libovolného souboru (nebo přidání celého nového souboru), který prošel všemi testování v naší vývojové větvi a je připraven být ve výrobě. Proces přesunu kódu mezi větvemi (často z vývoje do production) se označuje jako slučování.

Velmi důležité: při slučování musíme být ve větvi, do které se chceme sloučit. V zásadě řekneme git: „Vidíte tu novou věc? Nyní je v pořádku přenést ji sem. “

Krok 5: Sloučit změny pracovní větve

V tomto případě, protože chceme sloučit z naší pracovní větve, kde je„ hello_octo_world “ soubor existuje, do naší hlavní větve musíme být na hlavní.

Jakmile je na hlavní větvi, stačí spustit příkaz sloučení. Nejlepší způsob, jak to udělat, je napsat “ git merge –no-ff ”- další„ –no-ff ”říká git, že chceme zachovat všechny zprávy potvrzení před sloučením. To v budoucnu usnadní sledování změn:

Vrácení se zpět na GitHub

Poslední věcí, kterou teď musíme udělat, je dát GitHubu vědět, že jsme se opičili zvládněte zde naše místní vývojové prostředí.

Jinými slovy, je čas na git push. Máte to!

Výstup git potvrzuje, že sloučení z vaší vývojové větve do hlavní větve ve vašem místním prostředí, byl nyní zkopírován na vzdálený server: „master → master.“

A je to! Úspěšně jsme vytvořili pracovní větev oddělenou od hlavní. Provedli jsme v ní změny. Tyto změny byly provedeny a potvrzeny. Poté byly sloučeny zpět do mistra v našem místním pracovním prostředí. Nakonec jsme vše posunuli na GitHub, aby všechny verze našeho projektu byly všude stejné!

Závěrečná poznámka

Nějaké vyčištění je nyní v pořádku: protože jsme úspěšně sloučili naši pobočku hello_octo, již ji nepotřebujeme. Chcete-li sloučenou větev smazat, jednoduše zadejte „git branch -d branchName“:

Žádné obavy: pokud se náhodou pokusíte smazat větev, která ještě nebyla sloučena, git způsobí chybu.

Takže! Zatím používáme extrémně zjednodušený ukázkový projekt, protože v tomto okamžiku je nejdůležitější pochopit a asimilovat pracovní postup git. Ve skutečném světě je slučování mnohem více – například co se stane, když dostanete chybové zprávy, protože vaše sloučení má konflikty? Bez obav, nový git-steri, dostaneme se tam.

Váš domácí úkol: vytvořte („dotkněte se“) několika dalších nových souborů v ukázkovém projektu a procvičujte jejich provádění, postupování, potvrzování a nakonec jejich slučování zpět. Dbejte na to, abyste věděli, kam směřuje vaše HLAVA – tj. jaká je vaše aktuální větev. Změny provádějte pouze ve vaší pracovní větvi.

Protože si pamatujte: Nedělejte to. .

Leave a Reply

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *