Komponenty toku GitHubu

Dokončeno

V této lekci se podíváme na následující komponenty toku GitHubu:

  • Větve
  • Zápisy
  • Žádosti o přijetí změn
  • Pracovní postup GitHubu
  • Tok Gitu

Komponenty služby GitHub Flow

Než se pustíme do pracovních postupů specifických pro GitHub, je užitečné pochopit, že GitHub Flow vychází přímo ze základních konceptů Gitu.

Git poskytuje nástroje ke sledování a správě změn v kódu v průběhu času. GitHub na tom staví tím, že usnadňuje používání těchto nástrojů s funkcemi, jako jsou větve, potvrzení, žádosti o přijetí změn a vizuální rozhraní pro spolupráci. Začněme tím, že se podíváme, jak tyto koncepty fungují na GitHubu.

Co jsou větve

V poslední části jsme vytvořili nový soubor a novou větev ve vašem úložišti.

Větve jsou základní součástí prostředí GitHubu. Umožňují provádět změny, aniž by to mělo vliv na výchozí větev.

Vaše větev je bezpečné místo pro experimentování s novými funkcemi nebo opravami. Pokud uděláte chybu, můžete vrátit změny nebo nasdílet další změny, abyste chybu opravili. Změny se ve výchozí větvi neaktualizují, dokud větev nesloučíte.

Poznámka:

Alternativně můžete vytvořit novou větev a rezervovat ji pomocí gitu v terminálu. Příkaz by byl git checkout -b newBranchName

Co jsou potvrzení

V předchozí lekci jste do úložiště přidali nový soubor vložením potvrzení. Pojďme se krátce podívat, co jsou potvrzení.

Commit je změna jednoho nebo více souborů ve větvi. Každé potvrzení se sleduje jedinečným ID, časovým razítkem a přispěvatelem bez ohledu na to, jestli se provádí přes příkazový řádek nebo přímo ve webovém rozhraní GitHubu. Potvrzení poskytují jasný záznam auditu pro všechny uživatele, kteří kontrolují historii souboru nebo propojené položky, například problém nebo žádost o přijetí změn.

Potvrzení můžete vytvořit pomocí Gitu v terminálu pomocí:

git commit -m "Add a helpful commit message"

Snímek obrazovky se seznamem commitů GitHubu do hlavní větve.

V úložišti Git může soubor existovat v několika platných stavech, protože prochází procesem správy verzí. Primární stavy souboru v úložišti Git jsou nesledované a sledované.

Nesledované: Počáteční stav souboru, pokud ještě není součástí úložiště Git. Git neví o své existenci.

Sledovaný: Sledovaný soubor je takový, který Git aktivně monitoruje. Může být v jednom z následujících podstavů:

  • Nezměněný: Soubor se sleduje, ale od posledního potvrzení se nezměnil.
  • Upravený: Soubor byl změněn od posledního potvrzení, ale tyto změny ještě nejsou připravené pro další potvrzení.
  • Připraveno: Soubor byl změněn a změny byly přidány do indexu (označovaného také jako index). Tyto změny jsou připravené k potvrzení.
  • Commitováno: Soubor je v databázi repozitáře. Představuje nejnovější potvrzenou verzi souboru.

Tyto stavy pomáhají vašemu týmu pochopit stav každého souboru a kde se nachází v procesu správy verzí.

Co jsou žádosti o přijetí změn?

Pull request je mechanismus, který slouží k signalizaci, že commity z jedné větve jsou připraveny ke sloučení s jinou větví.

Člen týmu, který odešle žádost o přijetí změn , požádá jednoho nebo více revidujících, aby ověřil kód a schválil sloučení. Tito kontroloři mají možnost komentovat změny, přidat vlastní změny nebo použít žádost o přijetí změn k další diskusi.

GitHub také podporuje koncepty žádostí o přijetí změn, které umožňují otevřít žádost o přijetí změn, která ještě není připravená ke kontrole.

Po schválení změn (v případě potřeby) se zdrojová větev žádosti o přijetí změn (porovnávaná větev) sloučí do základní větve.

Snímek obrazovky s žádostí o přijetí změn a komentářem v rámci žádosti o přijetí změn

Teď, když jste viděli, jak fungují větve, potvrzení a žádosti o přijetí změn, si projdeme jejich spojení v GitHub Flowu.

Pracovní postup GitHubu

Snímek obrazovky znázorňující vizuální znázornění toku GitHubu v lineárním formátu, který zahrnuje novou větev, potvrzení, žádost o přijetí změn a sloučení změn zpět na hlavní v daném pořadí

Tok GitHubu je jednoduchý pracovní postup, který vám pomůže bezpečně provádět a sdílet změny. Je skvělé pro vyzkoušení nápadů a spolupráce s týmem pomocí větví, žádostí o přijetí změn a sloučení.

Poznámka:

Tok GitHubu je jedním z několika oblíbených pracovních postupů. Mezi další patří tok Gitu a vývoj založený na kmenech.

Teď, když víme základy GitHubu, můžeme projít tok GitHubu a jeho komponenty.

  1. Začněte vytvořením větve, aby vaše změny, funkce nebo opravy neovlivní hlavní větev.
  2. V dalším kroku proveďte aktualizace ve větvi. Pokud ho pracovní postup podporuje, můžete před sloučením nasadit změny z této větve a otestovat je.
  3. Teď otevřete žádost o přijetí změn, abyste mohli pozvat zpětnou vazbu a zahájit revizi.
  4. Pak si projděte komentáře a proveďte potřebné aktualizace na základě zpětné vazby vašeho týmu.
  5. Jakmile budete mít jistotu, že se změny změní, získáte schválení a sloučíte žádost o přijetí změn do hlavní větve.
  6. Potom odstraňte větev, aby bylo úložiště čisté, a vyhněte se používání zastaralých větví.

Tok Gitu

Diagram znázorňující pracovní postup toku Gitu s paralelními pruhy pro větve funkcí, vývoj, vydávání větví, oprav hotfix a hlavní větve Ukazuje, jak se funkce sloučí do vývoje, větve vydaných verzí se vytvářejí z vývoje, opravy hotfix jsou rozvětveny z hlavního serveru a všechny změny se nakonec sloučí zpět do hlavní větve a vyvíjejí se označenými verzemi.

I když je GitHub Flow jednoduchý pracovní postup navržený pro průběžné doručování, jedná se o strukturovanější model větvení, který se často používá v prostředích řízených verzemi. Tok Gitu je delší než GitHub Flow a může se stále zobrazovat termín master , který se používá místo main výchozí větve.

Typy větví toku Gitu

Tok Gitu používá několik dlouhodobých a dočasných větví:

  • master: Vždy odráží kód připravený pro produkční prostředí.
  • develop: Obsahuje nejnovější vývojovou práci pro příští verzi.
  • funkce/*: Používá se k vytváření nových funkcí; větvené z develop a sloučené zpět po dokončení.
  • release/*: Připraví novou produkční verzi z develop; umožňuje konečné testování a menší opravy chyb.
  • oprava hotfix/*: Používá se k rychlé opravě produkčních problémů; rozvětvené z master.

Jak funguje proces toku Gitu

  1. Vývojáři vytvářejí větve funkcí , od develop kterých se vytvářejí nové funkce.
  2. Když je čas na vydání, vytvoří se větev vydané verze z develop. Tím se izoluje příprava verzí, aby vývoj mohl pokračovat bez přerušení.
  3. Opravy chyb je možné přidat do větve vydané verze, ale hlavní funkce by měly čekat na budoucí verzi.
  4. Po dokončení se větev vydané verze sloučí a master označí číslem verze. GitHub může tyto značky použít k vygenerování poznámek k verzi.
  5. Stejná větev vydané verze by se měla sloučit zpět develop , aby byla synchronizovaná.
  6. Pokud dojde k kritické produkční chybě, vytvoří se větev opravy hotfix z master. Po opravení se sloučí do obou master a develop.

Kdy použít tok Git

  • Nejvhodnější pro projekty s naplánovanými nebo verzemi vydaných verzí
  • Užitečné, pokud udržujete více produkčních verzí (např. větve dlouhodobé podpory)
  • Ideální pro pomalejší, strukturovanější vývojové cykly (např. podniková nebo regulovaná prostředí)
  • Vzhledem k dalšímu řízení větví se považuje za "heavyweight" než GitHub Flow

Poznámka:

Tok Git předpokládá potvrzení sloučení pro integraci větví. Použití rebase nebo squash merges může narušit strukturu větve a sledování historie.

Pro mnoho týmů, které používají GitHub, je GitHub Flow jednodušší a rychlejší. Pokud ale váš tým vyhodnotí předvídatelnost a potřebuje další plánování vydávání verzí, může být tok Gitu vhodnější.

Gratulujeme! Právě jste prošli úplným tokem GitHubu a prozkoumali jste, jak tok Git nabízí strukturovanou alternativu pro projekty řízené verzemi.

Pojďme přejít na další část, kde se podíváme na rozdíly mezi problémy a diskuzemi.