Větvení se používá při správě verzí softwaru. Kopie souborů projekt nazývané větev umožňují týmy pracovat na paralelních verzích projekt současně při zachování neupravené kopie. To eliminuje riziko náhodného přepsání změn ostatních v souborech projekt.
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ětev. Když jsou změny Dokončit, větev je sloučena zpět do hlavní projekt. Na více větev lze pracovat současně a po sloučení jsou větev automaticky smazány. Sloučené větev zůstávají dostupné v záložka pro zjednodušené sledování historie. Značky z existující větev jsou zkopírovány do nové větev.
Omezení
-
Všechny role kromě překladatel a Host mají přístup k zobrazení .
-
Sloučení nelze vrátit zpět a větev nelze obnovit po smazání.
-
Zakázky vytvořené v konkrétní větev nejsou viditelné v hlavní projekt a naopak. Když je větev sloučena do hlavní projekt, všechny otevřené zakázky v ní jsou ztraceny.
-
Sestavy v zobrazení odrážejí pouze stav aktivní větev. Sloučení větev do hlavní projekt aktualizuje sestavy hlavní projekt.
-
Zobrazení obsahuje pouze aktivity v aktivní větev. Aktivity v větev nejsou viditelné v hlavní projekt a naopak. Aktivity v větev jsou ztraceny při jejím sloučení do hlavní projekt.
-
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í jsou ztraceny.
-
Překladatele nelze omezit na konkrétní větve, ale mají oprávnění pracovat na konkrétních locales. Překladatelé by měli být poučeni, jak pracovat se zakázkami ve větvích.
Větvení je povoleno na záložce v projektu s možností chránit hlavní větev před změnami.
Po povolení se na obrazovce projektu zobrazí nabídka větev , 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 v seznamu 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>
Role správce, projektový manažer, návrhář a vývojář mohou Vytvořit nové větev v větev, přes API nebo v CLI. Větev lze Vytvořit z jakékoli jiné větev, nejen z hlavní větev. Podporováno je až 5 úrovní větev.
Pro Vytvořit větev z UI, postupujte podle těchto kroků:
-
Ze stránky , Vybrat větev.
-
Kliknout na Vytvořit větev.
Otevře se okno .
-
Zadejte název pro větev.
-
Vybrat ze seznamu existujících větev.
-
Kliknout na Vytvořit.
Nová větev je přidána do seznam.
Pro Vytvořit větev přes API nebo CPI, spusťte:
$ Phrase branches Vytvořit --projekt_id <projekt_id> --data <data>
Pro Vytvořit větev při odesílá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ětev, ze které pochází. Tímto způsobem mohou překladatelé pracovat s aktualizovanou verzí obsah také v dlouhodobých projekt.
Pro synchronizaci větev s její základní větev, postupujte podle těchto kroků:
-
Na 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ě.
-
Vybrat Synchronizovat a potvrdit pro aplikaci změn.
Změny jsou přidány do základní větve a stanou se viditelnými v překladový editor. Informace o poslední synchronizaci se zobrazí ve sloupci na záložce .
Synchronizaci větev lze také provést přes API spuštěním tohoto příkazu CLI:
$ Phrase větev 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ě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 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í projekt.
Po dokončení překladu nebo zakázka specifické pro verzi ve větvi lze všechny 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 sloučení se do základní větve aplikují pouze změny následujících zdrojů:
-
Locale
-
Klíče
-
Překlady
Změny u ostatních zdrojů, jako jsou aktivity, úlohy 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 dochází, když se zdroj (překlad, klíč nebo kód jazyka) změnil jak v aktuální větvi, tak v její základní větvi poté, co byla větev vytvořena nebo naposledy synchronizována. Konflikty mohou nastat na jakékoli úrovni zásobníku větví, nejen při slučování do hlavní větve.
Pro sloučení větve 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 pro nahrazení stávajících překladů změnami z větve.
-
-
Klikněte na sloučit a potvrďte pro aplikaci změn.
Větev je sloučena do základní větve a automaticky odstraněna. Pro kontrolu historie sloučených větví otevřete záložku na stránce .
Pro sloučení větve 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ětve a pokud není určeno jinak, jedná se o výchozí nastavení. -
use_mainřeší konflikty vrácením změn z větve.use_masterje také podporováno.
Akce sloučit také automaticky odstraní sloučenou větev.
Při používání CLI zadejte větev, ze které chcete stahovat nebo do které chcete nahrávat, 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 pro nahrávání a stahování pomocí názvu větve 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 projekt, také podporují parametr --branch pro provedení akce na konkrétní větvi projektu:
$ Phrase upload Vytvořit <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\"}\" \
--format-options \"{\"foo\": \"bar\"}\""