Větvení se používá při správě verzí softwaru. Kopie souborů projektu zvané větve umožňují týmům pracovat na paralelních verzích projektu současně při zachování neupravené kopie. To eliminuje riziko náhodného přepsání změn ostatních v souborech projektu.
Hlavní projekt je zkopírován, když je vytvořena nová větev, přičemž změny jsou prováděny pouze v této větvi. Po dokončení změn je větev sloučena zpět do hlavního projektu. Na více větvích lze pracovat současně a po sloučení jsou větve automaticky smazány. Sloučené větve zůstávají dostupné v záložce pro zjednodušené sledování historie. Značky z existující větve se zkopírují do nové větve.
Omezení
-
Všechny role kromě překladatel a host mají přístup k zobrazení .
-
Sloučení nelze vrátit zpět a větve nelze obnovit po smazání.
-
Zakázky vytvořené ve specifické větvi nejsou viditelné v hlavním projektu a naopak. Když je větev sloučena do hlavního projektu, všechny otevřené zakázky v ní budou ztraceny.
-
Sestavy v zobrazení odrážejí pouze stav aktivní větve. Sloučení větve do hlavního projektu aktualizuje sestavy hlavního projektu.
-
Zobrazení obsahuje pouze aktivity v aktivní větvi. Aktivity ve větvích nejsou viditelné v hlavním projektu a naopak. Aktivity ve větvi jsou ztraceny při jejím sloučení do hlavního projektu.
-
GitHub Sync lze použít pouze v hlavním projektu, nikoli ve větvích.
-
Komentáře vytvořené ve větvi nejsou viditelné v hlavním projektu a naopak.
-
vytvořené ve větvi nejsou viditelné v hlavním projektu a naopak. Když je větev sloučena do hlavního projektu, všechny otevřené zakázky v ní budou ztraceny.
-
Překladatele nelze omezit na konkrétní větve, ale mají oprávnění pracovat na konkrétních lokalizacích. Překladatelé by měli být poučeni, jak pracovat s větvemi.
Větvení je povoleno na záložce v s možností chránit hlavní větev před změnami.
Po povolení se na obrazovce projektu zobrazí nabídka větví , kde lze vybrat pracovní větve. Chcete-li určit větev v CLI, použijte parametr
--branch:
--branch <branch_name>
Větve jsou uvedeny na záložce projektu, kde jsou zobrazeny informace o vytvoření a sloučení. Větve lze také odstranit nebo sloučit a pro danou větev vytvořit zakázky ze záložky .
Chcete-li vypsat seznam všech větví pro projekt prostřednictvím API nebo CLI, spusťte:
$ phrase branches list --project_id <project_id> # např. $ phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ phrase branches list <project_id>
Chcete-li odstranit větev prostřednictvím API nebo CLI, spusťte:
$ phrase branches delete --project_id <project_id> --name <branch_name> # např. $ phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ phrase branch delete <project_id> <branch_name>
Chránit hlavní větev
omezuje úpravy hlavního projektu a vyžaduje, aby byly všechny změny provedeny ve větvi.
Při aktivaci:
-
Lokality, klíče a překlady nelze přidávat, upravovat ani mazat přímo v hlavním projektu.
-
Nahrávání souborů a správa snímků obrazovky jsou v hlavním projektu zakázány.
-
Před importem souborů musí být vybrána větev.
-
Automatizace se nespouštějí nad hlavním projektem.
Role správce, projektový manažer, návrhář a vývojář mohou vytvářet nové větve v záložce , prostřednictvím API nebo v CLI. Větve lze vytvořit z jakékoli jiné větve, nejen z hlavní větve. Podporováno je až 5 úrovní větví.
Chcete-li vytvořit větev z uživatelského rozhraní, postupujte takto:
-
Na stránce vyberte záložku .
-
Klikněte na Vytvořit větev.
Otevře se okno .
-
Zadejte název pro větev.
-
Vyberte ze seznamu existujících větví.
-
Klikněte na Vytvořit.
Nová větev je přidána do seznamu.
Chcete-li vytvořit větev přes API nebo CLI, spusťte:
$ phrase branches Vytvořit --project_id <project_id> --data <data>
Chcete-li Vytvořit větev při odesílání Phrase, spusťte:
$ phrase push --branch <branch_name>
Synchronizace zajišťuje, že pracovní větev zůstane v souladu s nejnovějšími změnami z větev, ze které pochází. Tímto způsobem mohou překladatelé pracovat s aktualizovanou verzí obsah také v dlouhodobých projekt.
Chcete-li synchronizovat větev se základní větev, postupujte takto:
-
Na záložka klikněte na Sync with base branch vedle požadované větev.
Zobrazí se stránka s informacemi o všech konfliktech a změnách, které mají být synchronizovány se základní větev.
-
Kliknutím na jakoukoli zjištěnou změnu ji před synchronizací zkontrolujete.
Zobrazí se tabulka s podrobnostmi o vybrané změně.
-
vybrat Sync a potvrdit pro použití změn.
Změny jsou přidány do základní větev a stanou se viditelnými v překladový editor. Informace o poslední synchronizaci se zobrazí ve sloupci na záložka .
Synchronizaci větev lze také provést přes API spuštěním tohoto příkazu CLI:
$ phrase branches sync \\
--project_id <project_id> \\
--name <branch_name> \
--data '{"strategy":"use_main"}' \
--access_token <token>
-
use_branchřeší konflikty použitím změn z větev a pokud není určeno, je výchozí. -
Použít hlavnívyřeší konflikty vrácením změn z větve a odkazuje na základní větev. Při práci se zásobníkem větví není základní větev nutně skutečnou hlavní větví projektu.
Po dokončení překladu nebo zakázky specifické pro verzi ve větvi lze jakékoli změny sloučit do základní větve. Jakmile jsou všechny změny sloučeny v řetězci, větev nejvyšší úrovně může být sloučena do hlavní větve.
Po úspěšném sloučení je sloučená větev automaticky odstraněna a zobrazí se na záložce pro sledování historie.
Během slučování se na základní větev aplikují pouze změny následujících zdrojů:
-
Locale
-
Klíče
-
Překlady
Změny ostatních zdrojů, jako jsou aktivity, zakázky a objednávky, se neaplikují.
Větve s aktivními vedlejšími větvemi nelze sloučit, dokud nejsou vedlejší větve nejprve odstraněny nebo sloučeny.
Konflikty
Ke konfliktu dojde, když se zdroj (překlad, klíč nebo kód jazyka) změnil v aktuální větvi i v její základní větvi poté, co byla větev vytvořena nebo naposledy synchronizována. Ke konfliktům může dojít na jakékoli úrovni zásobníku větví, nejen při slučování do hlavní větve.
Chcete-li sloučit větev, postupujte podle těchto kroků:
-
Na záložce projektu klikněte na Sloučit se základní větví vedle požadované větve.
Otevře se stránka . Informace o překladech, které mají být během sloučení upraveny, lze zobrazit kliknutím do buněk.
-
Pokud existují konflikty, vyberte strategii sloučení:
-
Vyberte pro vrácení konfliktních změn a zachování stávajících překladů.
-
Vyberte pro nahrazení stávajících překladů změnami z větve.
-
-
Klikněte na Sloučit a potvrďte použití změn.
Větev je sloučena do základní větve a automaticky odstraněna. Chcete-li zkontrolovat historii sloučených větví, otevřete záložku na stránce .
Chcete-li sloučit větev přes API nebo CPI, spusťte:
$ phrase branches merge \\
--project_id <project_id> \\
--name <name> \\
--data '{"strategy":"use_main"}' \
--access_token <token>
-
use_branchřeší konflikty použitím změn z větev a pokud není určeno, je výchozí. -
use_mainřeší konflikty odmítnutím změn z větve.use_masterje také podporováno.
Akce merge také automaticky odstraní sloučenou větev.
Při použití CLI zadejte větev pro odeslání nebo stažení pomocí parametru --branch.
$ phrase push --branch <branch_name> $ phrase pull --branch <branch_name>
Pokud zadaná větev v projektu neexistuje, klient ji vytvoří.
Použijte --use-local-branch-name pro odeslání a stažení pomocí názvu aktivní větve git:
$ phrase push --use-local-branch-name $ phrase pull --use-local-branch-name
Všechny koncové body API, které přijímají argument projektu, také podporují parametr --branch pro provedení akce na konkrétní větvi projektu:
$ phrase upload create <project_id> \\
--branch <branch_name>
--file /path/to/my/file.json \
--file-format json \\
--locale-id abcd1234cdef1234abcd1234cdef1234 \
--tags awesome-feature,needs-proofreading \\
--locale-mapping "{"en": "2"}" \
--formát-options \"{\"foo\": \"bar\"}\"