# gt: General Translation CLI tool: Отслеживание переводов по веткам URL: https://generaltranslation.com/ru/docs/cli/guides/branching.mdx --- title: Отслеживание переводов по веткам description: Как отслеживать переводы отдельно для каждой git-ветки в General Translation, пока вы работаете над новыми функциями. related: links: - /docs/cli/guides/generating-translations - /docs/cli/guides/managing-translations - /docs/cli/guides/configuring - /docs/cli/guides/using-auto-jsx --- Ветвление отслеживает переводы отдельно для каждой git-ветки. Используйте его, если функциональная ветка добавляет или изменяет контент и вы хотите, чтобы эти переводы оставались изолированными от продакшена, пока ветка не будет объединена. *Примечание: ветвление — это функция General Translation Cloud, для которой требуется платный тариф. Без него создание ветки, отличной от ветки по умолчанию, приведёт к использованию ветки по умолчанию.* ## Включите ветвление [#enable] Передайте `--enable-branching` команде [`gt translate`](/docs/cli/reference/commands/translate). 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