注意
2025年12月10日より、新しいブランチ機能はすべての新規顧客に対してデフォルトで有効になります。
既存の顧客は、プロジェクトのタブで新しいブランチ機能に切り替えを選択することで、新しいブランチモデルにオプトインできます。
従来のブランチ機能は、2026年6月1日より非推奨となります。
ブランチ機能はソフトウェアのバージョン管理に使用されます。ブランチと呼ばれるプロジェクトファイルのコピーにより、チームは編集されていないコピーを保持しながら、同時にプロジェクトの並行バージョンで作業できます。これにより、他の人のプロジェクトファイルへの変更を誤って上書きするリスクが排除されます。
新しいブランチが作成されると、メインのプロジェクトがコピーされ、そのブランチにのみ変更が加えられます。変更が完了すると、ブランチはメインプロジェクトにマージされます。複数のブランチで同時に作業でき、マージ後はブランチが自動的に削除されます。マージされたブランチは、履歴追跡を簡素化するためにタブで利用可能です。既存のブランチからのタグは新しいブランチにコピーされます。
制限事項
-
翻訳者とゲストを除くすべての役割がビューにアクセスできます。
-
マージは元に戻せず、ブランチは復元できません。
-
ジョブは特定のブランチで作成されており、メインプロジェクトでは表示されず、その逆も同様です。ブランチがメインプロジェクトにマージされると、その中のオープンジョブは失われます。
-
ビューのレポートは、アクティブなブランチのステータスのみを反映します。ブランチをメインプロジェクトにマージすると、メインプロジェクトのレポートが更新されます。
-
ビューには、アクティブなブランチのアクティビティのみが含まれています。ブランチ内のアクティビティはメインプロジェクトでは表示されず、その逆も同様です。ブランチをメインプロジェクトにマージすると、そのアクティビティは失われます。
-
GitHub Syncはメインプロジェクトでのみ使用でき、ブランチでは使用できません。
-
コメントはブランチ内で作成されており、メインプロジェクトでは表示されず、その逆も同様です。
-
はブランチ内で作成されており、メインプロジェクトでは表示されず、その逆も同様です。ブランチがメインプロジェクトにマージされると、その中のオープンオーダーは失われます。
-
翻訳者は特定のブランチに制限されることはなく、特定のロケールで作業する権限が与えられます。翻訳者はブランチの扱い方について指示を受けるべきです。
ブランチ機能は、メインブランチを変更から保護するオプションとともに、タブので有効にされます。
有効にすると、プロジェクト画面に作業中のブランチを選択できるブランチメニューが表示されます。CLIでブランチを指定するには、
--branchパラメータを使用します:
--branch <branch_name>
ブランチはプロジェクトのタブにリストされ、作成およびマージ情報が表示されます。ブランチは削除またはマージでき、そのブランチのためにジョブを作成することもできますタブから。
ヒント
新しいブランチ機能に切り替えるをタブでクリックして、新しいブランチインターフェースと機能にアクセスします。
プロジェクトのすべてのブランチをAPIまたはCLI経由で一覧表示するには、次のコマンドを実行します:
$ phrase branches list --project_id <project_id> # 例: $ phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ phrase branches list <project_id>
APIまたはCLI経由でブランチを削除するには、次のコマンドを実行します:
$ phrase branches delete --project_id <project_id> --name <branch_name> # 例: $ phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ 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>
指定されたブランチがプロジェクトに存在しない場合、クライアントはそれを作成します。
--use-local-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"}"
注意
2025年12月10日より、新しいブランチ機能はすべての新しい顧客に対してデフォルトで有効になります。
既存の顧客は、プロジェクトのタブで新しいブランチ機能に切り替えを選択することで、新しいブランチモデルにオプトインできます。
新しいブランチ体験は、パフォーマンス、安定性、柔軟性を向上させるために再設計されたアーキテクチャと、拡張されたバージョン管理機能を導入します。これにより、チームはコンテンツの複数のバージョンを並行して作業し、長期間のブランチを最新の状態に保ち、変更をより効率的にマージできます。
新機能には:
-
マルチレベル(スタック)ブランチ
ブランチは、メインブランチだけでなく、他の任意のブランチから作成できます。最大5つのブランチレベルがサポートされています。
-
ブランチ間の変更を同期する
長期間実行されているブランチは、基盤ブランチに変更が蓄積されるにつれて古くなる可能性があります。新しいブランチ機能は、一貫性の欠如を防ぐのに役立つ同期機能を導入します。
作成から30日以上未マージのブランチは、Strings 管理された単語にカウントされます。
管理者、プロジェクトマネージャ、デザイナー、開発者の役割は、タブ、API、またはCLIを介して新しいブランチを作成できます。
UIからブランチを作成するには、次の手順に従ってください:
-
ページから、タブを選択します。
-
ブランチを作成をクリックします。
ウィンドウが開きます。
-
ブランチの名前を指定します。
-
既存のブランチのリストからを選択します。
-
作成をクリックします。
新しいブランチが一覧に追加されます。
APIまたはCPI経由でブランチを作成するには、次のコマンドを実行します:
$ phrase branches create --project_id <project_id> --data <data>
翻訳をプッシュする際にブランチを作成するには、次のコマンドを実行します:
$ phrase push --branch <branch_name>
同期により、作業中のブランチが元のブランチからの最新の変更と一致するように保たれます。このようにして、翻訳者は長期プロジェクトでも更新されたコンテンツのバージョンで作業できます。
ブランチを基盤ブランチと同期するには、次の手順に従ってください:
-
タブで、目的のブランチの横にある基盤ブランチと同期をクリックします。
ページが表示され、基盤ブランチと同期する必要のある変更や競合に関する情報が表示されます。
-
同期する前に、検出された変更のいずれかをクリックしてレビューします。
選択した変更に関する詳細が表示されるテーブルが表示されます。
-
同期を選択し、変更を適用するために確認します。
変更は基盤ブランチに追加され、翻訳エディタに表示されるようになります。最後の同期に関する情報は、列のタブに表示されます。
ブランチの同期は、このCLIコマンドを実行することでAPI経由でも行うことができます:
$ フレーズ ブランチ 同期 \
--project_id <project_id> \
--name <branch_name> \
--data '{"strategy":"use_main"}' \
--access_token <token>
-
使用_ブランチは、ブランチからの変更を適用することで競合を解決し、指定されていない場合はデフォルトです。 -
メインを使用は、ブランチからの変更を拒否し、ベースブランチを参照することで競合を解決します。スタックされたブランチで作業する場合、ベースブランチは必ずしも実際のメインプロジェクトブランチではありません。
ブランチで翻訳またはバージョン固有の作業を完了した後、変更はベースブランチにマージできます。すべての変更がチェーン上でマージされると、最上位のブランチはメインブランチにマージできます。
成功したマージの後、マージされたブランチは自動的に削除され、履歴追跡のためにタブに表示されます。
マージ中にベースブランチに適用されるのは、以下のリソースへの変更のみです:
-
ロケール
-
キー
-
翻訳
アクティビティ、ジョブ、オーダーなどの他のリソースへの変更は適用されません。
アクティブな子ブランチを持つブランチは、子ブランチが削除または最初にマージされるまでマージできません。
競合
リソース(翻訳、キー、またはロケール)が、ブランチが作成された後または最後に同期された後に、現在のブランチとそのベースブランチの両方で変更された場合、競合が発生します。競合は、メインにマージする際だけでなく、ブランチスタックの任意のレベルで発生する可能性があります。
ブランチをマージするには、次の手順に従ってください:
-
プロジェクトのタブから、希望するブランチの横にあるベースブランチとマージをクリックします。
ページが開きます。マージ中に変更される翻訳に関する情報は、セルをクリックすることでアクセスできます。
-
競合がある場合は、マージ戦略を選択してください:
-
を選択して、競合する変更を拒否し、既存の翻訳を保持します。
-
ブランチからの変更で既存の翻訳を置き換えるには、を選択します。
-
-
マージをクリックし、変更を適用するために確認します。
ブランチはベースブランチにマージされ、自動的に削除されます。マージされたブランチの履歴を確認するには、ページのタブを開きます。
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>
指定されたブランチがプロジェクトに存在しない場合、クライアントはそれを作成します。
--use-local-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"}"