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 v hlavním projektu a vyžaduje, aby byly všechny změny provedeny ve větvi.
Při povolení:
-
Kódy jazyků, klíče a překlady nelze přidávat, upravovat ani mazat přímo v hlavním projektu. Toto omezení se vztahuje na zdroj kódu jazyka jako celek, včetně konfigurace pro konkrétní kód jazyka, jako je přiřazený profil strojového překladu, nejen na název kódu jazyka nebo překlady.
Chcete-li změnit nastavení pro konkrétní kód jazyka v chráněném hlavním projektu, dočasně zakažte ochranu větve, proveďte změnu a poté ochranu znovu Povolit.
-
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í v hlavním projektu.
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 vytvářet 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.
Pro Vytvořit větev přes API nebo CPI spusťte:
$ Phrase branches Vytvořit --project_id <project_id> --data <data>
Pro Vytvořit větev při nahrávání překladů spusťte:
$ Phrase push --větev <branch_name>
Synchronizace zajišťuje, že pracovní větev zůstane v souladu s nejnovějšími změnami z větve, ze které pochází. Tímto způsobem mohou překladatelé pracovat s aktualizovanou verzí obsah také v dlouhodobých projekt.
Pro synchronizaci větve se základní větví postupujte podle těchto kroků:
-
V záložce klikněte na Synchronizovat se základní větví vedle požadované větve.
Stránka se zobrazí s informacemi o všech konfliktech a změnách, které mají být synchronizovány se základní větví.
-
Klikněte na jakoukoli zjištěnou změnu a před synchronizací ji zkontrolujte.
Zobrazí se tabulka s podrobnostmi o vybrané změně.
-
Vyberte Synchronizovat a potvrďte použití změn.
Změny jsou přidány do základní větve a stanou se viditelnými v překladovém editoru. Informace o poslední synchronizaci se zobrazí ve sloupci v záložce .
Synchronizaci větve 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>
-
použít větevřeší konflikty použitím změn z větve a pokud není určeno jinak, jedná se o výchozí nastavení. -
použít hlavnířeší konflikty vrácením změn z větve a odkazuje na základní větev. Při práci se zřetězenými větvemi 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 veškeré změny sloučit do základní větve. Jakmile jsou všechny změny sloučeny v řetězci, lze větev nejvyšší úrovně sloučit 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 do základní větve použijí pouze změny následujících zdrojů:
-
Locale
-
Klíče
-
Překlady
Změny v ostatních zdrojích, jako jsou aktivity, úlohy a zakázky, se nepoužijí.
Větve s aktivními vedlejšími větvemi nelze sloučit, dokud nebudou 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 řetězce 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 získat 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 k 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 se základní větví 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 prostřednictvím API nebo CPI, spusťte:
$ phrase branches merge \\
--project_id <project_id> \
--name <name> \\
--data '{"strategy":"use_main"}' \
--access_token <token>
-
použít větevřeší konflikty použitím změn z větve a pokud není určeno jinak, jedná se o výchozí nastavení. -
use_mainřeší konflikty odmítnutím změn z větve.use_masterje také podporováno.
Akce sloučit také automaticky odstraní sloučenou větev.
Při použití CLI určete větev, ze které chcete nahrávat nebo stahovat, pomocí parametru --branch.
$ Phrase push --větev <branch_name> $ phrase pull --branch <branch_name>
Pokud zadaná větev v projektu neexistuje, klient ji vytvoří.
Použijte --use-local-branch-name k nahrá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 k 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\"}"