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.
mainu se nikdy necommitujeV 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.
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, ...
- 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