# gt: General Translation CLI tool: 按 分支 跟踪翻译 URL: https://generaltranslation.com/zh/docs/cli/guides/branching.mdx --- title: 按 分支 跟踪翻译 description: 介绍如何在开发功能时,使用 General Translation 按不同的 git 分支 分别跟踪翻译。 related: links: - /docs/cli/guides/generating-translations - /docs/cli/guides/managing-translations - /docs/cli/guides/configuring - /docs/cli/guides/using-auto-jsx --- 分支功能会为每个 git 分支 单独跟踪翻译。当某个功能 分支 新增或修改了内容,而你希望这些翻译在该 分支 merge 之前与 Production 隔离时,就可以使用此功能。 *注意:分支是 General Translation Cloud 的一项功能,需要付费套餐。若未开通,创建非默认 分支 时将回退到默认 分支。* ## 启用分支 [#enable] 向 [`gt translate`](/docs/cli/reference/commands/translate) 命令传入 `--enable-branching`。CLI 会检测你当前的 git 分支,并将新翻译与该分支关联。 ```bash npx gt translate --enable-branching ``` 如果你想手动设置 分支 名称,而不是从 git 中自动检测,请添加 `--branch`。 ```bash npx gt translate --enable-branching --branch my-feature-branch ``` 你也可以在 `gt.config.json` 中启用分支。CLI 标志的优先级高于这些配置值。 ```json title="gt.config.json" { "branchOptions": { "enabled": true, "autoDetectBranches": true, "remoteName": "origin" } } ``` ## 继承机制如何运作 [#inheritance] 启用分支后,CLI 会识别你当前所在的分支和默认分支 (基于远程 HEAD) ,然后跟踪它们之间的关系: * **当前检出的分支:**你的分支从中创建出来的分支。新的功能分支会继承其中所有现有翻译,因此共享内容无需重新翻译,也不会重复计费。 * **传入分支:**合并到你的分支中的分支。它们的翻译会并入你的分支。 新翻译会一直与功能分支关联,直到该分支被合并。合并回默认分支后,该功能分支中的翻译也会自动并入默认分支。 ## 工作流程示例 [#workflow] 1. 创建一个功能分支并添加新内容。 ```bash git checkout -b feature/new-landing-page ``` 2. 启用分支后进行翻译。新译文会关联到 `feature/new-landing-page`。 ```bash npx gt translate --enable-branching ``` 3. 合并该功能分支,然后在默认分支上进行翻译,以纳入其译文。 ```bash git checkout main git merge feature/new-landing-page npx gt translate --enable-branching ``` ## 排查分支检测问题 [#troubleshoot] * **未检测到分支:**可使用 `--branch ` 手动设置。 * **非标准远程仓库:**如果你的远程仓库不是 `origin`,请设置 `--remote-name ` 或 `branchOptions.remoteName`。 * **仅使用当前分支:**添加 `--disable-branch-detection`,以跳过传入分支和父分支的跟踪。 ```bash npx gt translate --enable-branching --branch my-branch --disable-branch-detection ``` ## Next steps - /docs/cli/guides/generating-translations - /docs/cli/guides/managing-translations - /docs/cli/guides/configuring - /docs/cli/guides/using-auto-jsx