Když repozitář zpracovává víc lidí nebo víc instancí najednou, platí navíc koordinační pravidla. Nejsou složitá, ale nedodržená se projeví až konfliktem.
Proč worktree
Git worktree je druhá pracovní kopie téhož repozitáře na jiné větvi. Umožňuje pracovat na úkolu, aniž by se hlavní kopie přepnula jinam — a hlavně: na větvi task/… commit nenasazuje web.
git worktree listUkáže, kolik kopií je aktivních a na jakých větvích.
Jeden zapisovatel
Stejné pravidlo jako u dat: sdílený soubor má jednoho vlastníka. Koordinační tabulku úkolů edituje jediná instance, ta samá, která merguje a nasazuje. Ostatní hlásí přes sběrnici.
Není to hierarchie, je to prevence: dvě instance, které souběžně píšou do stejného souboru, vyrobí konflikt, jehož vyřešení stojí víc než celá koordinace.
/coop-statusKdo pracuje na čem, a jestli to koliduje s tím, co chcete dělat.
Konflikt v generovaném souboru
Když dvě větve změní data, oba buildy přegenerují stejné výstupy — a při slučování se srazí. To není chyba ani jedné z nich. Řešení není ruční slučování výstupu, ale přegenerování z už sloučených dat.
Poznáte to podle toho, že konfliktní soubor je snapshot, přehled nebo katalog — něco, co nikdo nepsal rukou.
Překryv se hlásí předem
Nejlevnější okamžik, kdy se dá kolize vyřešit, je než se začne. Nejdražší je po dvou hodinách práce na tomtéž. Ověř si, že to sedí Chcete upravit dossier, na kterém podle přehledu pracuje jiný úkol. Co uděláte? Ohlásíte překryv na sběrnici a dohodnete se, kdo to vezme — než něco změníte. Souběžná práce na jednom dossieru není zakázaná, ale tichá souběžná práce končí konfliktem v datech, kde je slučování nejdražší.Zobrazit odpověď Skrýt odpověď