-
План Enterprise (Устаревшая версия)
Свяжитесь с отделом продаж по вопросам лицензирования.
Важно
С 10 декабря 2025 года новое ветвление будет включено по умолчанию для всех новых клиентов.
Существующие клиенты могут перейти на новую модель ветвления, выбрав Переключиться на новое ветвление на вкладке проекта.
Устаревшее ветвление будет устаревшим с 1 июня 2026 года.
Ветвление используется в управлении версиями программного обеспечения. Копии файлов проекта, называемые ветвями, позволяют командам работать над параллельными версиями проекта одновременно, сохраняя неизменённую копию. Это устраняет риск случайного перезаписывания изменений других в файлах проекта.
Основной проект копируется, когда создаётся новая ветвь, изменения вносятся только в эту ветвь. Когда изменения завершены, ветвь сливается обратно в основной проект. Над несколькими ветвями можно работать одновременно, и после слияния ветви автоматически удаляются. Слитые ветви остаются доступными на вкладке для упрощённого отслеживания истории. Теги из существующей ветви копируются в новую ветвь.
Ограничения
-
Все роли, кроме переводчика и гостя, имеют доступ к просмотру .
-
Слияния не могут быть отменены, и ветви не могут быть восстановлены.
-
Работы, созданные в конкретной ветви, не видны в основном проекте и наоборот. Когда ветвь объединяется с основным проектом, любые открытые работы в ней теряются.
-
Отчеты в представлении отражают только статус активной ветви. Объединение ветви с основным проектом обновляет отчеты основного проекта.
-
Представление содержит только активности в активной ветви. Активности в ветвях не видны в основном проекте и наоборот. Активности в ветви теряются при объединении ее с основным проектом.
-
Синхронизация с GitHub может использоваться только в основном проекте, а не в ветвях.
-
Комментарии, сделанные в ветви, не видны в основном проекте и наоборот.
-
, созданные в ветви, не видны в основном проекте и наоборот. Когда ветвь объединяется с основным проектом, любые открытые заказы в ней теряются.
-
Переводчики не могут быть ограничены конкретными ветвями, но им предоставляется разрешение работать с конкретными локалями. Переводчиков следует instruировать о том, как работать с ветвями.
Ветвление включено на вкладке в с опцией защиты основной ветви от изменений.
При включении на экране проекта представлено меню ветвей , где можно выбрать рабочие ветви. Чтобы указать ветвь в CLI, используйте параметр
--branch:
--branch <branch_name>
Ветви перечислены на вкладке проекта, где представлена информация о создании и объединении. Ветви также могут быть удалены или объединены, и для этой ветви могут быть созданы работы на вкладке .
Совет
Нажмите Переключиться на новое ветвление на вкладке , чтобы получить доступ к новому интерфейсу ветвления и функциям.
Чтобы перечислить все ветви проекта через API или CLI, выполните:
$ phrase branches list --project_id <project_id> # например. $ phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ phrase branches list <project_id>
Чтобы удалить ветвь через API или CLI, выполните:
$ phrase branches delete --project_id <project_id> --name <branch_name> # например. $ phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ phrase branch delete <project_id> <branch_name>
Роли администратора, менеджера проекта и разработчика могут создавать новые ветви в редакторе переводов, через API или в CLI.
Чтобы создать ветвь в редакторе переводов, выполните следующие шаги:
-
На странице выберите вкладку .
-
Нажмите Создать ветвь.
Окно открывается.
-
Укажите имя для ветви.
-
Нажмите Создать ветвь.
Новая ветвь добавляется в список.
Чтобы создать ветвь через API или CPI, выполните:
$ phrase branches create --project_id <project_id> --data <data>
Чтобы создать ветвь при отправке переводов, выполните:
$ фраза push --ветвь <имя_ветви>
После внесения изменений в ветвь, её можно объединить с основной версией, чтобы включить любые новые переводы.
Только изменения в следующих ресурсах применяются к основной ветви во время объединения:
-
Языковые стандарты
-
Ключи
-
Переводы
Изменения в других ресурсах, таких как Действия, Задания и Заказы, не применяются.
Конфликты
Конфликт возникает, когда ресурс (перевод, ключ или языковой стандарт) изменился как в основном проекте, так и в ветви между моментом создания ветви и её объединением с основным проектом. Например, переводы и настройки ключей (такие как формы множественного числа) могли измениться в основном проекте после создания ветви, что делает значения в ветви отличными от значений в основном проекте.
Чтобы объединить ветвь, выполните следующие шаги:
-
В представлении проекта выберите ветвь для объединения и нажмите Сравнить и объединить.
Открывается страница . Информацию о переводах, которые будут изменены во время объединения, можно получить, нажав на ячейки.
-
Если есть конфликты, выберите стратегию объединения:
-
Выберите , чтобы отклонить конфликтующие изменения и сохранить существующие переводы.
-
Выберите , чтобы заменить существующие переводы изменениями из ветви.
-
-
Нажмите Объединить ветвь.
Ветвь объединена с основным проектом.
Чтобы объединить ветвь через API или CPI, выполните:
$ phrase branches merge \\
--project_id <project_id> \
--name <name> \\
--data '{"strategy":"использовать_основной"}' \\
--access_token <токен>
-
использовать_ветвьразрешает конфликты, применяя изменения из ветви, и если не указано, является значением по умолчанию. -
использовать_основнойразрешает конфликты, отклоняя изменения из ветви.использовать_мастертакже поддерживается.
При использовании CLI укажите ветвь для отправки или получения с помощью параметра --branch.
$ фраза push --ветвь <имя_ветви> $ 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 create <project_id> \\
--branch <branch_name>
--file /path/to/my/file.json \
--file-format json \\
--locale-id abcd1234cdef1234abcd1234cdef1234 \
--теги замечательная-функция,нужна-вычитка \\
--языковой-стандарт "{"en": "2"}" \\
--формат-опции "{"foo": "bar"}"
Важно
С 10 декабря 2025 года новое ветвление включено по умолчанию для всех новых клиентов.
Существующие клиенты могут перейти на новую модель ветвления, выбрав Переключиться на новое ветвление на вкладке проекта.
Новый опыт ветвления представляет собой переработанную архитектуру для улучшения производительности, стабильности и гибкости, а также расширенные возможности управления версиями. Это позволяет командам работать с несколькими версиями их контента параллельно, поддерживать актуальность долгосрочных ветвей и более эффективно объединять изменения.
Новые функции включают:
-
Многоуровневые (стековые) ветви
Ветви могут быть созданы из любой другой ветви, а не только из основной ветви. Поддерживается до 5 уровней ветвей.
-
Синхронизация изменений между ветвями
Долгосрочные ветви могут устаревать по мере накопления изменений в их базовых ветвях. Новое ветвление вводит возможность синхронизации, которая помогает предотвратить несоответствия.
Ветви, которые остаются не объединенными более 30 дней с момента их создания, учитываются в Strings управляемые слова.
Роли администратора, менеджера проекта, дизайнера и разработчика могут создавать новые ветви на вкладке , через API или в CLI.
Чтобы создать ветвь из интерфейса, выполните следующие шаги:
-
На странице выберите вкладку .
-
Нажмите Создать ветвь.
Окно открывается.
-
Укажите имя для ветви.
-
Выберите из списка существующих ветвей.
-
Нажмите «Создать».
Новая ветвь добавляется в список.
Чтобы создать ветвь через API или CPI, выполните:
$ phrase branches create --project_id <project_id> --data <data>
Чтобы создать ветвь при отправке переводов, выполните:
$ фраза push --ветвь <имя_ветви>
Синхронизация обеспечивает соответствие рабочей ветви последним изменениям из ветви, от которой она произошла. Таким образом, переводчики могут работать с обновленной версией контента также в долгосрочных проектах.
Чтобы синхронизировать ветвь с ее базовой ветвью, выполните следующие шаги:
-
На вкладке нажмите Синхронизировать с базовой ветвью рядом с нужной ветвью.
Отображается страница с информацией о любых конфликтах и изменениях, которые необходимо синхронизировать с базовой ветвью.
-
Нажмите на любое из обнаруженных изменений, чтобы просмотреть его перед синхронизацией.
Отображается таблица с деталями о выбранном изменении.
-
Выберите Синхронизировать и подтвердите, чтобы применить изменения.
Изменения добавляются в базовую ветвь и становятся видимыми в редакторе переводов. Информация о последней синхронизации отображается в колонке на вкладке .
Синхронизацию ветви также можно выполнить через API, выполнив эту команду CLI:
$ phrase branches sync \\
--project_id <project_id> \
--name <branch_name> \\
--data '{"strategy":"использовать_основной"}' \\
--access_token <токен>
-
использовать_ветвьразрешает конфликты, применяя изменения из ветви, и если не указано, является значением по умолчанию. -
use_mainразрешает конфликты, отклоняя изменения из ветви и ссылаясь на базовую ветвь. При работе с вложенными ветвями базовая ветвь не обязательно является фактической главной ветвью проекта.
После завершения перевода или работы, специфичной для версии, в ветви любые изменения могут быть объединены с базовой ветвью. После того как все изменения объединены вверх по цепочке, верхняя ветвь может быть объединена с главной ветвью.
После успешного объединения объединенная ветвь автоматически удаляется и появляется на вкладке для отслеживания истории.
Только изменения в следующих ресурсах применяются к базовой ветви во время объединений:
-
Языковые стандарты
-
Ключи
-
Переводы
Изменения в других ресурсах, таких как Действия, Задания и Заказы, не применяются.
Ветви с активными дочерними ветвями не могут быть объединены, пока дочерние ветви не будут удалены или объединены сначала.
Конфликты
Конфликт возникает, когда ресурс (перевод, ключ или языковой стандарт) изменился как в текущей ветви, так и в ее базовой ветви после создания ветви или последней синхронизации. Конфликты могут возникать на любом уровне стека ветвей, а не только при объединении с основной ветвью.
Чтобы объединить ветвь, выполните следующие шаги:
-
На вкладке проекта нажмите Объединить с базовой ветвью рядом с нужной ветвью.
Открывается страница . Информацию о переводах, которые будут изменены во время объединения, можно получить, нажав на ячейки.
-
Если есть конфликты, выберите стратегию объединения:
-
Выберите , чтобы отклонить конфликтующие изменения и сохранить существующие переводы.
-
Выберите , чтобы заменить существующие переводы изменениями из ветви.
-
-
Нажмите Объединить и подтвердите, чтобы применить изменения.
Ветвь объединяется с базовой ветвью и автоматически удаляется. Чтобы просмотреть историю объединенных ветвей, откройте вкладку на странице .
Чтобы объединить ветвь через API или CPI, выполните:
$ phrase branches merge \\
--project_id <project_id> \
--name <name> \\
--data '{"strategy":"использовать_основной"}' \\
--access_token <токен>
-
использовать_ветвьразрешает конфликты, применяя изменения из ветви, и если не указано, является значением по умолчанию. -
использовать_основнойразрешает конфликты, отклоняя изменения из ветви.использовать_мастертакже поддерживается.
Действие объединение также автоматически удаляет объединенную ветвь.
При использовании CLI укажите ветвь для отправки или получения с помощью параметра --branch.
$ фраза push --ветвь <имя_ветви> $ 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 create <project_id> \\
--branch <branch_name>
--file /path/to/my/file.json \
--file-format json \\
--locale-id abcd1234cdef1234abcd1234cdef1234 \
--теги замечательная-функция,нужна-вычитка \\
--языковой-стандарт "{"en": "2"}" \\
--формат-опции "{"foo": "bar"}"