-
План Enterprise (Устаревшая версия)
Свяжитесь с отделом продаж по вопросам лицензирования.
Ветвление используется в управлении версиями программного обеспечения. Копии файлов проекта, называемые ветвями, позволяют командам работать над параллельными версиями проекта одновременно, сохраняя неизменённую копию. Это устраняет риск случайного перезаписывания изменений других в файлах проекта.
Основной проект копируется, когда создаётся новая ветвь, изменения вносятся только в эту ветвь. Когда изменения завершены, ветвь сливается обратно в основной проект. Несколько ветвей могут обрабатываться одновременно, и после слияния ветви могут быть удалены. Теги из существующей ветви копируются в новую ветвь.
Ограничения
-
Все роли, кроме переводчика и гостя, имеют доступ к просмотру .
-
Слияния не могут быть отменены, и ветви не могут быть восстановлены после удаления.
-
Задачи, созданные в конкретной ветви, не видны в основном проекте и наоборот. Когда ветвь сливается в основной проект, любые открытые задачи в ней теряются.
-
Отчёты в
отображают только статус активной ветви. Слияние ветви в основной проект обновляет отчёты основного проекта. -
Просмотр
содержит только действия в активной ветви. Действия в ветвях не видны в основном проекте и наоборот. Действия в ветви теряются при слиянии её в основной проект. -
Синхронизация GitHub может использоваться только в основном проекте, а не в ветвях.
-
Комментарии, сделанные в ветви, не видны в основном проекте и наоборот.
-
созданные в ветви не видны в основном проекте и наоборот. Когда ветвь объединяется с основным проектом, любые открытые заказы в ней теряются.
-
Переводчики не могут быть ограничены конкретными ветвями, но им предоставляется разрешение работать с конкретными локалями. Переводчиков следует instruировать о том, как работать с ветвями.
Ветвление включено на вкладке
в с опцией защиты основной ветви от изменений.Когда включено, меню ветвей представлено на экране проекта, где можно выбрать рабочие ветви. Чтобы указать ветвь в CLI, используйте параметр
--branch
:
--branch <branch_name>
Ветви перечислены в представлении
, где представлена информация о создании и объединении. Ветви также могут быть удалены или объединены, и для этой ветви могут быть созданы задания из представления .Чтобы перечислить все ветви проекта через API или CLI, выполните:
$ phrase branches list <project_id>
Чтобы удалить ветвь через API или CLI, выполните:
$ phrase branch delete <project_id> <branch_name>
Роли администратора, менеджера проекта и разработчика могут создавать новые ветви в редакторе переводов, через API или в CLI.
Чтобы создать ветвь в редакторе переводов, выполните следующие шаги:
-
На странице
выберите вкладку . -
Нажмите Создать ветвь.
Открывается окно
. -
Укажите имя для ветви.
-
Нажмите Создать ветвь.
Новая ветвь добавляется в список.
Чтобы создать ветвь через API или CPI, выполните:
$ phrase branches create --project_id <project_id> --data <data>
Чтобы создать ветвь при отправке переводов, выполните:
$ phrase push --branch <branch_name>
После внесения изменений в ветвь, ее можно объединить обратно в основную перевод, чтобы включить любые новые переводы.
Только изменения в следующих ресурсах применяются к основной ветви во время объединений:
-
Языковые стандарты
-
Ключи
-
Переводы
Изменения в других ресурсах, таких как Действия, Задания и Заказы, не применяются.
Конфликты
Конфликт возникает, когда ресурс (перевод, ключ или языковой стандарт) изменился в основном проекте между моментом создания ветви и моментом ее объединения обратно в основной проект. Например, переводы и настройки ключей, такие как формы множественного числа, могли измениться в основном проекте после создания ветви, что делает значения в ветви отличными от значений в основном проекте.
Чтобы объединить ветвь, выполните следующие шаги:
-
В представлении Сравнить и объединить.
проекта выберите ветвь для объединения и нажмитеОткрывается страница
. Информацию о переводах, которые будут изменены во время объединения, можно получить, щелкнув по ячейкам. -
Если есть конфликты, выберите стратегию объединения:
-
Выберите
, чтобы отклонить конфликтующие изменения и сохранить существующие переводы. -
Выберите
для замены существующих переводов изменениями из ветки.
-
-
Нажмите Объединить Ветку.
Ветка объединена с основным проектом.
Чтобы объединить ветку через API или CPI, выполните:
$ фраза ветки объединить \
--project_id <project_id> \
--name <name> \
--data '{"strategy":"use_main"}' \
--access_token <токен>
-
использовать_ветку
разрешает конфликты, применяя изменения из ветки, и если не указано, является значением по умолчанию. -
использовать_основной
разрешает конфликты, отклоняя изменения из ветки.использовать_мастер
также поддерживается.
При использовании CLI укажите ветку для отправки или получения с помощью параметра --branch
.
$ phrase push --branch <branch_name> $ фраза pull --branch <branch_name>
Если указанная ветка не существует в проекте, клиент создает ее.
Используйте --use-local-branch-name
для отправки и получения, используя имя ветки активной git-ветки:
$ фраза push --use-local-branch-name $ фраза pull --use-local-branch-name
Все конечные точки API, которые принимают аргумент проекта, также поддерживают параметр --branch
для выполнения действия на конкретной ветке проекта:
$ фраза загрузить создать <project_id> \ --branch <branch_name> --файл /path/to/my/file.json \\ --формат-файла json \\ --locale-id abcd1234cdef1234abcd1234cdef1234 \ --теги awesome-feature,needs-proofreading \\ --языковой стандарт "{"en": "2"}" \ --опции формата "{"foo": "bar"}"