🌿Vývoj software8 min čteníAktualizováno: 27. 10. 2026

Strategie větvení v Gitu: Git flow vs. trunk-based

Strategie větvení v Gitu určuje, jak se kód dostane z vývoje na produkci. Porovnáme Git flow, GitHub flow a trunk-based vývoj a ukážeme, jak mezi nimi vybrat.

👨‍💻
Roman
AboutTheApp

Shrnutí a kontext

Každý tým má strategii větvení. Některé týmy ji mají i sepsanou. Strategie větvení v Gitu určuje, kde vzniká nový kód, jak se dostane na produkci a odkud se vydávají opravy. Níže najdete srovnání Git flow, GitHub flow a trunk-based vývoje a doporučení, jak mezi nimi vybrat.

1. Proč na strategii větvení záleží

Bez dohodnuté strategie často vznikají dlouho žijící větve a při slučování konflikty. Navíc není jasné, co je v které větvi a co z toho běží na produkci. Podpora pak u nahlášené chyby těžko zjišťuje, jestli je oprava už nasazená.

Strategie větvení zároveň určuje, odkud se berou verze a poznámky k vydání. Když je jasné, z které větve a s jakým tagem se vydává, dají se změny mezi dvěma vydáními dohledat bez ručního procházení commitů.

2. Git flow

Git flow popsal Vincent Driessen v roce 2010. Používá dvě trvalé větve: main s vydanými verzemi a develop s rozpracovaným vývojem. Nové funkce vznikají ve větvích feature, vydání se připravuje ve větvi release a opravy produkce ve větvi hotfix.

Model se hodí pro software s plánovanými vydáními a více podporovanými verzemi, třeba pro knihovny nebo aplikace instalované u zákazníků. Sám autor ve své poznámce z roku 2020 doporučuje pro webové aplikace s průběžným nasazováním jednodušší postup.

Schéma Git flow s větvemi main, develop, feature, release a hotfix a tagy verzí na větvi main
Git flow: vývoj probíhá ve větvi develop, nové funkce ve větvích feature. Vydání se připraví ve větvi release a sloučí do main s tagem verze. Opravy produkce jdou přes hotfix do main i develop.

3. GitHub flow

GitHub flow má jedinou trvalou větev main. Každá změna vznikne v krátké větvi, projde revizí v pull requestu, sloučí se do main a nasadí se.

Hodí se pro webové aplikace a služby, které se nasazují často a mají jednu aktuální verzi. Podmínkou jsou automatické testy, protože main musí být vždy připravená k nasazení.

Schéma GitHub flow s krátkými větvemi, které se přes pull requesty slučují do větve main
GitHub flow: každá změna vznikne v krátké větvi a do main se dostane přes pull request. Po každém sloučení se main nasadí.

4. Trunk-based vývoj

Při trunk-based vývoji posílají vývojáři malé změny do hlavní větve (trunku) několikrát denně, přímo nebo přes velmi krátké větve. Rozpracované funkce se skrývají přepínači funkcí (feature flags), tedy nastavením, které funkci zapne až ve chvíli, kdy je hotová.

Vydání se označí tagem přímo na hlavní větvi, případně se pro něj založí krátká větev release. Postup vyžaduje spolehlivé automatické testy a CI/CD, tedy automatické sestavení, testy a nasazení po každé změně.

Schéma trunk-based vývoje s častými commity do main, tagy verzí a krátkou větví release pro opravu
Trunk-based vývoj: malé změny jdou do main několikrát denně a vydání se značí tagem. Opravu starší verze lze vydat z větve release, do které se převezme commit z main (přerušovaná čára).

5. Srovnání strategií větvení

Žádná strategie není správná pro všechny týmy. Rozhoduje, jak často vydáváte a kolik verzí současně podporujete.

StrategieTrvalé větveJak se vydáváHodí se pro
Git flowmain, developVětev release, tag na mainPlánovaná vydání, více podporovaných verzí, instalace u zákazníků
GitHub flowmainNasazení po sloučení pull requestuWebové aplikace s jednou aktuální verzí
Trunk-basedmain (trunk)Tag na main nebo krátká větev releaseTýmy s automatickými testy a častým nasazováním

6. Jak strategii větvení vybrat

Při výběru pomůže odpovědět si na několik otázek.

Kontrolní seznamKliknutím označte

Časté otázky

Jaká strategie větvení v Gitu je nejlepší?

Univerzálně nejlepší strategie neexistuje. Pro webové aplikace s častým nasazováním se obvykle hodí GitHub flow nebo trunk-based vývoj. Pro software s plánovanými vydáními a více podporovanými verzemi Git flow.

Používá se Git flow ještě dnes?

Ano, hlavně u knihoven, desktopových a mobilních aplikací a u software instalovaného u zákazníků. Pro webové aplikace s průběžným nasazováním doporučuje i autor Git flow jednodušší postup.

Jaký je rozdíl mezi Git flow a GitHub flow?

Git flow má dvě trvalé větve (main a develop) a samostatné větve pro vydání a opravy. GitHub flow má jen větev main, do které se přes pull request slučují krátké větve a po sloučení se nasazuje.

Co je trunk-based vývoj?

Postup, při kterém vývojáři posílají malé změny do hlavní větve několikrát denně a rozpracované funkce skrývají přepínači funkcí. Vydání se značí tagem na hlavní větvi.

Kde má být strategie větvení popsaná?

V repozitáři, typicky v souboru CONTRIBUTING.md, aby ji vývojáři měli u kódu. Odkaz na ni, na repozitář a na pipeline je dobré mít i u aplikace, například v AboutTheApp, kde je najdou i lidé bez přístupu do repozitáře.

Ve zkratce

Strategie větvení má odpovídat tomu, jak často vydáváte a kolik verzí podporujete. Pokud je sepsaná a odkaz na ni je u aplikace spolu s repozitářem a pipeline, najde ji každý, kdo s aplikací pracuje.

AboutTheApp

Chcete mít repozitář, pipeline a pravidla u aplikace?

Založte si zdarma aplikaci v AboutTheApp a připojte k ní odkazy na repozitář, pipeline a dokumentaci.