# gt: General Translation CLI tool: 按 分支 跟踪翻译
URL: https://generaltranslation.com/zh/docs/cli/guides/branching.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 介绍如何在开发功能时，使用 General Translation 按不同的 git 分支 分别跟踪翻译。

当某个功能 分支 新增或修改了内容，而你希望这些翻译在该 分支 merge 之前与 Production 隔离时，就可以使用此功能。

*注意：分支是 General Translation Cloud 的一项功能，需要 Starter 方案。若未开通 Starter，创建非默认 分支 时将回退到默认 分支。*

## 启用分支 [#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 <branch>` 手动设置。
* **非标准远程仓库：**如果你的远程仓库不是 `origin`，请设置 `--remote-name <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

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
