Přeskočit na hlavní obsah

Větve

Další velmi užitečnou funkcí Gitu jsou větve. Ty umožňují provádět více změn více lidem na jednom repozitáři najednou.

Tvorba větve

Větev lze vytvořit buď ve webovém rozhraní GitLab, nebo lokálně a následně ji pushnout na server. Pro přepnutí se do jiné větve použijeme příkaz git checkout, stejně jako když jsme se přepínali mezi commity. Pokud ale větev vytváříme, musíme přidat parametr -b. Takto tedy vytvoříme větev dev:

git checkout -b dev
Switched to a new branch 'dev'

Nyní můžete standardně commitovat a pushovat. Tyto commity se budou přidávat do této větve. Data v původní větvi nebudou ovlivněna.

Význam větví

Význam a názvy jednotlivých větví se může lišit v závislosti především na tom, kdo si to jak stanoví. Nicméně, existuje názvosloví, které je víceméně dodržované většinou projektů.

main

Jedná se o hlavní větev repozitáře. Původně se tato větev nazývala master a můžete ji pod tímto názvem v některých projektech stále najít. V této větvi by měla být vždy "ostrá" verze. Neměl by zde probíhat žádný vývoj, od toho jsou ostatní větve. Význam této větve spočívá pouze v uchování nejnovější funkční verzi projektu.

Do mainu se nikdy necommituje

V praxi se do mainu nesmí nikdy commitovat přímo. Je to z toho důvodu, že zde má být vždy funkční verze a přímý commit je většinou vývojový. Do této větve by se mělo vždy pouze mergovat. Pokud na projektu pracuje více lidí, měl by se pro to použít merge request, který přidává možnost kontroly stavu projektu před samotným mergem.

dev

Jedná se o hlavní vývojovou větev. V této větvi se provádí hlavní vývoj projektu. Měla by vzniknout hned po inicializačním commitu. Měl by v ní probíhat pouze prvotní vývoj. Jakýkoli další vývoj by měl probíhat v konkrétních [feature] nebo [bug] větvích.

konkrétní vývojové větve

KME používá princip konkrétních vývojových větví. Tento princip není obecně příliš používaný. Místo toho se používá princip konkrétních [feature] a [bug] větví.

Jak to funguje

Větev se pojmenuje vždy s prefixem dev- a za to se dá název toho, co se v ní vyvíjí. Příklad: dev-hw, dev-sensor, dev-calibration, dev-test, ...

Pracovní větve

Tyto větve se používají ve chvíli, kdy byla vydána nějaká první verze. Tato verze je uložená ve větvi main. Z této main větve následně vznikají tyto feature větve. Každá tato větev řeší svoji featuru nebo opravu nějakého bugu apod. Pojmenovávají se vždy podle vzorce <kategorie>/<název>. Příklad: feature/calibration, bug/sensor, feature/protocol, ...

Standardně používané kategorie
  • feature - Přidání nové vlastnosti
  • hotfix - Oprava urgentní chyby (většinou v produkčním prostředí)
  • bugfix - Oprava chyby, která není urgentní
  • chore - Údržba projektu (především posouvání verzí pro udržení kompatibility)
  • release - Příprava release verze - fixace obsahu verze, stabilizace