分支用于软件版本控制。名为“分支”的项目文件副本允许“团队”同时处理项目的并行版本,同时保留未经编辑的副本。这消除了意外覆盖他人对项目文件的更改的风险。
创建新分支时,仅对该分支进行更改,则复制主项目。更改完成后,分支将合并回主项目。可以同时处理多个分支,合并后可以删除分支。现有分支的标记被复制到新分支。
限制
-
除了译员和来宾外,所有角色都可以访问 视图。
-
合并不可恢复,分支不可撤销。
-
在特定分支中创建的工作在主项目中不可见,反之亦然。当分支合并到主项目中时,其中任何打开的工作都将丢失。
-
视图中的报告仅反映当前分支的状态。将分支合并到主项目中会更新主项目报告。
-
视图仅包含活动分支中的活动。分支中的活动在主项目中不可见,反之亦然。将分支合并到主项目时,分支中的活动会丢失。
-
GitHub 同步只能用于主项目,不能用于分支。
-
分支中的备注在主项目中不可见,反之亦然。
-
在分支中创建的
在主项目中不可见,反之亦然。当分支合并到主项目中时,其中的任何未结订单都将丢失。 -
译员不能仅限于特定分支,但有权在特定地区工作。应指导译员如何使用分支。
在
的 选项卡中启用了分支,可以选择保护主分支免受更改。启用后,项目屏幕上将显示分支菜单,可以选择工作分支。要在 CLI 中指定分支,请使用
--branch
参数:
--branch <branch_name>
分支在
视图中列出,其中显示创建和合并信息。还可以从 视图中删除或合并分支并为该分支创建工作。要通过 API 或 CLI 列出项目的所有分支,请运行:
$ 短语分支列表 <project_id>
要通过 API 或 CLI 删除分支,请运行:
$ 短语分支删除 <project_id> <branch_name>
管理员、项目经理和开发人员角色可以在翻译编辑器中、通过 API 或在 CLI 中创建新分支。
要在翻译编辑器中创建分支,请执行以下步骤:
要通过 API 或 CPI 创建分支,请运行:
$ phrase 分支创建 --project_id <project_id> --data <data>
要在推送翻译时创建分支,请运行:
$ 短语推送 --branch <branch_name>
对分支进行更改后,可以将其合并回主翻译以合并任何新的翻译。
合并过程中,仅以下资源的更改应用于主分支:
-
语言环境
-
键
-
翻译
不应用对其他资源(如活动、工作和订单)的更改。
冲突
当从创建分支到将其合并回主项目期间,主项目中的资源(翻译、字符串或区域)发生了更改时,就会发生冲突。例如,翻译和字符串设置(如复数形式)可能在创建分支后在主项目中发生了变化,从而使分支中的值与主项目中的值不同。
要合并分支,请执行以下步骤:
-
从项目的比较和合并。
视图中,选择要合并的分支,然后单击页面打开。有关在合并过程中要修改的翻译的信息可以在单元格中单击访问。
-
如果有冲突,请选择合并策略:
-
选择
以拒绝冲突的更改并保留现有翻译。 -
选择
(使用分支更改替换现有翻译)。
-
-
单击合并分支。
分支合并到主项目中。
要通过 API 或 CPI 合并分支,请运行:
$ 短语分支合并 \
--project_id <project_id> \
--name <name> \
--data '{"strategy":"use_master"}' \
--access_token <token>
-
use_branch
通过应用分支中的更改解决冲突,如果未指定则为默认值。 -
use_master
通过拒绝分支中的更改来解决冲突。
使用 CLI 时,请使用 --branch
参数指定要推送或拉取的分支。
$ 短语推送 --branch <branch_name> $ 短语拉取 --branch <branch_name>
如果指定分支在项目中不存在,客户将创建它。
使用 --use-local-branch-name
使用当前 git 分支的分支名称进行推拉:
$ 短语推送 --use-local-branch-name $ 短语 pull --use-local-branch-name
所有接受项目参数的 API 端点也支持 --branch
参数,以便对项目的特定分支执行操作:
$ 短语上传创建 <project_id> \ --branch <branch_name> --file /path/to/my/file.json \ --file_format: json \ --locale-id abcd1234cdef1234abcd1234cdef1234 \ --tags awesome-feature,need-proofreading \ --locale-mapping "{"en":"2"}" \ --format-options "{"foo": "bar"}"