-
План Enterprise (Устаревшая версия)
Свяжитесь с отделом продаж по вопросам лицензирования.
Важно
Начиная с 10 декабря 2025 года новое ветвление включено по умолчанию для всех новых клиентов.
Существующие клиенты могут перейти на новую модель ветвление, выбрав Переключиться на новое ветвление на вкладке в проект.
Устаревшая версия ветвление будет отменена с 1 июня 2026 г..
Ветвление используется в контроле версий программного обеспечения. Копии файлов проект, называемые ветви, позволяют команды работа над параллельными версиями проект одновременно, сохраняя при этом неизмененную копию. Это исключает риск случайной перезаписи чужих изменений в файлах проект.
Основной проект копируется при создании новой ветвь, при этом изменения вносятся только в эту ветвь. Когда работа завершена, ветвь объединяется с основным проект. Можно работать с несколькими ветвями одновременно, и после слияния ветви автоматически удаляются. Объединенные ветви остаются доступными на вкладке для упрощенного отслеживания истории. Теги из существующей ветви копируются в новую ветвь.
Ограничения
-
Все роли, кроме переводчик и Гость, могут получить доступ к представлению .
-
Слияния нельзя отменить, а ветви нельзя восстановить после удаления.
-
Задания, созданные в конкретной ветви, не видны в основном проект и наоборот. Когда ветвь объединяется с основным проект, любые открытые задания в ней теряются.
-
Отчеты в представлении отражают только статус активный ветви. Слияние ветви с основным проект обновляет отчеты основного проект.
-
Представление содержит только действия в активный ветви. Действия в ветвях не видны в основном проект и наоборот. Действия в ветвь теряются при слиянии ее с основной проект.
-
GitHub Sync можно использовать только в основной проект, а не в ветвь.
-
Комментарии, сделанные в ветвь, не видны в основной проект и наоборот.
-
, созданные в ветвь, не видны в основной проект и наоборот. Когда ветвь объединяется с основной проект, все открытые в ней работа теряются.
-
Переводчики не могут быть ограничены конкретными ветвь, но им предоставляется разрешение работа над конкретными locales. Переводчикам следует дать инструкции о том, как работа с ветвь.
Ветвление включено во вкладка с возможностью защитить основная ветвь от изменений.
При включении меню ветвь отображается на экране проект, где можно выбрать рабочая ветвь. Чтобы указать ветвь в CLI, используйте параметр
--branch:
--branch <branch_name>
Ветвь перечислены во вкладка проект, где представлена информация о создании и слиянии. Ветвь также можно удалить или объединить, а также создать для них работа из вкладка .
Рекомендации
Нажмите Switch to new branching во вкладка , чтобы получить доступ к новый ветвление интерфейс и функции.
Чтобы получить список все ветвь для проект через интерфейс приложений API или CLI, выполните:
$ Phrase branches list --project_id <Идентификатор проект> # например $ Phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ Phrase branches list <Идентификатор проект>
Чтобы удалить ветвь через интерфейс приложений API или CLI, выполните:
$ Phrase branches delete --project_id <Идентификатор проекта> --name <branch_name> # например $ Phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ Phrase ветвь delete <Идентификатор проекта> <branch_name>
Роли администратор, менеджер проекта и разработчик могут создавать новые ветвь в редактор переводов, через интерфейс приложений API или в CLI.
Чтобы создать ветвь в редактор переводов, выполните следующие действия:
-
На странице выберите вкладка .
-
Нажмите Создать ветвь.
Откроется окно .
-
Укажите имя для ветвь.
-
Нажмите Создать ветвь.
Новая ветвь добавлена в список.
Чтобы создать ветвь через интерфейс приложений API или CPI, выполните:
$ Phrase branches create --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>
-
use_branchразрешает конфликты путем применения изменений из ветви и является значением по умолчанию, если не указано иное. -
use_mainразрешает конфликты путем отклонения изменений из ветви.use_masterтакже поддерживается.
При использовании 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 Создать <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"}"
Новый опыт ветвления представляет переработанную архитектуру для повышения производительности, стабильности и гибкости, а также расширенные возможности контроля версий. Это позволяет командам работать над несколькими версиями своего контента параллельно, поддерживать долгоживущие ветви в актуальном состоянии и более эффективно объединять изменения.
Новые функции включают:
-
Многоуровневые (стековые) ветви
Ветви можно создавать из любой другой ветви, а не только из основной ветви. Поддерживается до 5 уровней ветвей.
-
Синхронизация изменений между ветвями
Долгоживущие ветви могут устареть по мере накопления изменений в их базовых ветвях. Новое ветвление предоставляет возможность синхронизации, которая помогает предотвратить несоответствия.
Ветви, которые остаются неслитыми более 30 дней с момента их создания, учитываются в Strings managed words.
Роли администратор, менеджер проекта, дизайнер и разработчик могут создавать новые ветви на вкладке , через интерфейс приложений API или в CLI.
Чтобы создать ветвь через пользовательский интерфейс, выполните следующие действия:
-
На странице выберите вкладка .
-
Нажмите Создать ветвь.
Откроется окно .
-
Укажите имя для ветвь.
-
Выберите из список существующих ветвей.
-
Нажмите «Создать».
Новая ветвь добавлена в список.
Чтобы создать ветвь через интерфейс приложений API или CPI, выполните:
$ Phrase branches create --project_id <Идентификатор проекта> --data <data>
Чтобы создать ветвь при отправке переводов, выполните:
$ Phrase push --branch <branch_name>
Синхронизация гарантирует, что рабочая ветвь остается согласованной с последними изменениями из ветви, от которой она произошла. Таким образом, переводчики могут работать с обновленной версией контента также в долгосрочных проектах.
Чтобы синхронизировать ветвь с ее базовой ветвью, выполните следующие действия:
-
На вкладке нажмите Синхронизировать с базовой ветвью рядом с нужной ветвью.
Отобразится страница с информацией о любых конфликтах и изменениях, которые необходимо синхронизировать с базовой ветвью.
-
Нажмите на любое из обнаруженных изменений, чтобы просмотреть его перед синхронизацией.
Отобразится таблица с подробной информацией о выбранном изменении.
-
Выберите Синхронизировать и подтвердить, чтобы применить изменения.
Изменения добавляются в базовую ветвь и становятся видимыми в редактор переводов. Информация о последней синхронизации отображается в столбце на вкладке .
Синхронизацию ветвь можно также выполнить через интерфейс приложений API, запустив эту команду CLI:
$ Phrase branches sync \\
--project_id <project_id> \
--name "branch_name" \\
--data '{\"strategy\":\"use_main\"}' \\
--access_token <token>
-
use_branchразрешает конфликты путем применения изменений из ветви и является значением по умолчанию, если не указано иное. -
use_mainразрешает конфликты путем отклонить изменений из ветвь и ссылается на базовую ветвь. При работа с вложенными ветвь базовая ветвь не обязательно является фактической основной ветвь проект.
После завершения работа над переводом или версией в ветвь любые изменения могут быть объединить в базовую ветвь. Как только все изменения будут объединить вверх по цепочке, ветвь верхнего уровня можно будет объединить в основную ветвь.
После успешного объединить объединенная ветвь автоматически удаляется и появляется на вкладка для отслеживания истории.
Во время объединить к базовой ветвь применяются только изменения следующих ресурсов:
-
Языковые стандарты
-
Ключи
-
Переводы
Изменения других ресурсов, таких как действия, задания и заказ, не применяются.
Ветвь с активный дочерний элемент ветвь нельзя объединить, пока дочерний элемент ветвь не будут удалены или объединить первыми.
Конфликты
Конфликт возникает, когда ресурс (перевод, ключ или языковой стандарт) был изменен как в текущей ветвь, так и в ее базовой ветвь после того, как ветвь была создана или в последний раз синхронизирована. Конфликты могут возникать на любом уровне стека ветвь, а не только при объединить в основную.
Чтобы объединить ветвь, выполните следующие действия:
-
На вкладка проект нажмите Объединить с базовой ветвь След. желаемой ветвь.
Откроется страница . Информацию о переводах, которые будут изменены во время объединения, можно получить, нажав на ячейки.
-
Если есть конфликты, выберите стратегию объединения:
-
Выберите , чтобы отклонить конфликтующие изменения и сохранить существующие переводы.
-
Выберите , чтобы Заменить существующие переводы изменениями из ветви.
-
-
Нажмите Объединить и подтвердить, чтобы применить изменения.
Ветвь объединить с базовой ветвь и удаляется автоматически. Чтобы просмотреть историю объединить ветвь, откройте вкладка на странице .
Чтобы объединить ветвь через интерфейс приложений API или CPI, выполните:
$ phrase branches merge \\
--project_id <project_id> \
--name <name> \\
--data '{\"strategy\":\"use_main\"}' \\
--access_token <token>
-
use_branchразрешает конфликты путем применения изменений из ветви и является значением по умолчанию, если не указано иное. -
use_mainразрешает конфликты путем отклонения изменений из ветви.use_masterтакже поддерживается.
Действие объединить также автоматически удаляет объединенную ветвь.
При использовании 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 Создать <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"}"