ブランチ機能はソフトウェアのバージョン管理に使用されます。プロジェクトファイルのコピーであるブランチは、チームが同時にプロジェクトの並行バージョンで作業できるようにし、編集されていないコピーを保持します。これにより、他の人のプロジェクトファイルへの変更を誤って上書きするリスクが排除されます。
新しいブランチが作成されると、メインプロジェクトがコピーされ、そのブランチにのみ変更が加えられます。変更が完了すると、ブランチはメインプロジェクトにマージされます。複数のブランチを同時に作業することができ、マージ後にブランチを削除できます。既存のブランチからのタグは新しいブランチにコピーされます。
制限事項
-
翻訳者とゲストを除くすべての役割は、 ビューにアクセスできます。
-
マージは元に戻せず、ブランチは復元できません。
-
特定のブランチで作成されたジョブはメインプロジェクトでは表示されず、その逆も同様です。ブランチがメインプロジェクトにマージされると、その中のオープンジョブは失われます。
-
ビューのレポートは、アクティブなブランチのステータスのみを反映します。ブランチをメインプロジェクトにマージすると、メインプロジェクトのレポートが更新されます。
-
ビューには、アクティブなブランチの活動のみが含まれます。ブランチ内の活動はメインプロジェクトでは表示されず、その逆も同様です。ブランチをメインプロジェクトにマージすると、その活動は失われます。
-
GitHub Syncはメインプロジェクトでのみ使用でき、ブランチでは使用できません。
-
ブランチ内で行われたコメントはメインプロジェクトでは表示されず、その逆も同様です。
-
ブランチで作成されたものは、メインプロジェクトでは表示されず、その逆も同様です。ブランチがメインプロジェクトにマージされると、その中のオープン注文は失われます。
-
翻訳者は特定のブランチに制限されることはなく、特定のロケールで作業する権限が与えられます。翻訳者はブランチの使い方について指示を受けるべきです。
ブランチ機能は、メインブランチを変更から保護するオプションと共に、
タブの で有効にされます。有効にすると、作業中のブランチを選択できるブランチメニューがプロジェクト画面に表示されます。CLIでブランチを指定するには、
--branch
パラメータを使用します:
--branch <branch_name>
ブランチは
ビューにリストされ、作成およびマージ情報が表示されます。ブランチは削除またはマージすることもでき、そのブランチのためのジョブを ビューから作成できます。プロジェクトのすべてのブランチをAPIまたはCLI経由でリストするには、次のコマンドを実行します:
$ phrase branches list <project_id>
APIまたはCLI経由でブランチを削除するには、次のコマンドを実行します:
$ phrase branch delete <project_id> <branch_name>
管理者、プロジェクトマネージャー、開発者の役割は、翻訳エディタ、API経由またはCLIで新しいブランチを作成できます。
翻訳エディタでブランチを作成するには、次の手順に従います:
APIまたはCPIを介してブランチを作成するには、次のコマンドを実行します:
$ phrase branches create --project_id <project_id> --data <data>
翻訳をプッシュする際にブランチを作成するには、次のコマンドを実行します:
$ phrase push --branch <branch_name>
ブランチに変更が加えられた後、それはメイン翻訳に再結合され、新しい翻訳を取り込むことができます。
マージ中にメインブランチに適用されるのは、以下のリソースへの変更のみです:
-
ロケール
-
キー
-
翻訳
アクティビティ、ジョブ、オーダーなどの他のリソースへの変更は適用されません。
競合
競合は、リソース(翻訳、キー、またはロケール)がブランチが作成された時点とメインプロジェクトに再結合される時点の間にメインプロジェクトで変更された場合に発生します。例えば、ブランチが作成された後にメインプロジェクトで翻訳やキー設定(複数形など)が変更され、ブランチ内の値がメインプロジェクトの値と異なる場合があります。
ブランチをマージするには、次の手順に従ってください:
-
プロジェクトの比較とマージをクリックします。
ビューから、マージするブランチを選択し、ページが開きます。マージ中に変更される翻訳に関する情報は、セルをクリックすることでアクセスできます。
-
競合がある場合は、マージ戦略を選択してください:
-
を選択して、競合する変更を拒否し、既存の翻訳を保持します。
-
を使用して、既存の翻訳をブランチからの変更で置き換えます。
-
-
結合 ブランチ をクリックします。
ブランチはメインプロジェクトに結合されます。
APIまたはCPIを介してブランチを結合するには、次のコマンドを実行します:
$ phrase branches merge \\
--project_id <project_id> \
--name <name> \
--data '{"strategy":"use_main"}' \
--access_token <token>
-
使用するブランチ
は、ブランチからの変更を適用することで競合を解決し、指定されていない場合はデフォルトになります。 -
メインを使用
は、ブランチからの変更を拒否することで競合を解決します。マスターを使用
もサポートされています。
CLIを使用する場合、--branch
パラメータを使用してプッシュまたはプルするブランチを指定します。
$ phrase push --branch <branch_name> $ phrase pull --branch <branch_name>
指定されたブランチがプロジェクトに存在しない場合、クライアントがそれを作成します。
--ローカルブランチ名を使用
を使用して、アクティブなgitブランチのブランチ名を使用してプッシュおよびプルします:
$ phrase push --use-local-branch-name $ phrase pull --use-local-branch-name
プロジェクト引数を取るすべてのAPIエンドポイントは、特定のプロジェクトのブランチでアクションを実行するために、--branch
パラメータもサポートしています:
$ 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"}" \ --format-options "{"foo": "bar"}"