Ветвление используется в системе контроля версий программного обеспечения. Копии файлов проект, называемые ветвь, позволяют командам работать над параллельными версиями проект одновременно, сохраняя при этом неизмененную копию. Это исключает риск случайной перезаписи чужих изменений в файлах проект.
Основной проект копируется при создании новой ветвь, при этом изменения вносятся только в эту ветвь. Когда изменения Завершить, ветвь объединяется с основным проект. Можно работать с несколькими ветвь одновременно, и после слияния ветвь автоматически удаляются. Объединенные ветвь остаются доступными на вкладка для упрощенного отслеживания истории. Теги из существующей ветвь копируются в новую ветвь.
Ограничения
-
Все роли, кроме переводчик и Гость, могут получить доступ к представлению .
-
Слияния нельзя отменить, а ветви нельзя восстановить после удаления.
-
Задания, созданные в конкретной ветвь, не видны в основном проект, и наоборот. Когда ветвь объединяется с основным проект, любые открытые задания в ней теряются.
-
Отчеты в представлении отражают только статус активный ветвь. Слияние ветвь с основным проект обновляет отчеты основного проект.
-
Представление содержит только действия в активный ветвь. Действия в ветвь не видны в основном проект, и наоборот. Действия в ветвь теряются при ее слиянии с основным проект.
-
GitHub Sync можно использовать только в основном проект, а не в ветвь.
-
Комментарии, сделанные в ветви, не видны в основном проекте и наоборот.
-
, созданные в ветви, не видны в основном проекте и наоборот. Когда ветвь объединяется с основным проектом, любые открытые в ней заказы теряются.
-
Переводчики не могут быть ограничены конкретными ветвями, но им предоставляется разрешение на работа с конкретными локалями. Переводчикам следует дать инструкции о том, как работа с ветвями.
Ветвление включено на
При включении меню ветвь отображается на экране проект, где можно выбрать рабочие ветви. Чтобы указать ветвь в CLI, использовать параметр
--branch<4>:
--branch <branch_name>
Ветви перечислены на
Чтобы получить список всех ветвей для проект через интерфейс приложений 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 ветвь удалить <Идентификатор проекта> <branch_name>
Роли администратор, менеджер проекта, дизайнер и разработчик могут Создать новые ветвь в вкладка , через интерфейс приложений API или в CLI. ветвь могут быть созданы из любой другой ветвь, а не только из основной ветвь. Поддерживается до 5 уровней ветвь.
Чтобы Создать ветвь из пользовательского интерфейса, выполните следующие действия:
-
На странице Выбрать вкладка .
-
Нажмите создать ветвь.
Откроется окно .
-
Укажите имя для ветвь.
-
Выбрать из список существующих ветвь.
-
Нажмите «Создать».
Новая ветвь добавляется в список.
Чтобы Создать ветвь через интерфейс приложений API или CPI, выполните:
$ Phrase ветвь Создать --проект_Идентификатор <проект_Идентификатор> --данные <данные>
Чтобы Создать ветвь при отправке переводов, выполните:
$ Phrase push --ветвь <имя_ветвь>
Синхронизация гарантирует, что рабочая ветвь остается согласованной с последними изменениями из ветвь, от которой она произошла. Таким образом, переводчики могут работа с обновленной версией контент также в долгосрочных проект.
Чтобы синхронизировать ветвь с ее базовой ветвь, выполните следующие действия:
-
В вкладка , нажмите Синхронизировать с базовой ветвь След. желаемой ветвь.
Отображается страница с информацией о любых конфликтах и изменениях, которые необходимо синхронизировать с базовой ветвь.
-
Нажмите на любое из обнаруженных изменений, чтобы просмотреть его перед синхронизацией.
Отображается таблица с подробной информацией о выбранном изменить.
-
Выбрать Sync и подтвердить, чтобы применить изменения.
Изменения добавляются в базовую ветвь и становятся видны в редактор переводов. Информация о последней синхронизации отображается в столбце вкладка .
Синхронизацию ветвь также можно выполнить через интерфейс приложений API, запустив эту команду CLI:
$ Phrase branches sync \\
--project_id <project_id> \
--name <branch_name> \\
--data '{\"strategy\":\"use_main\"}' \\
--access_token <токен>
-
use_branchразрешает конфликты путем применения изменений из ветвь и используется по умолчанию, если не указано иное. -
use_mainразрешает конфликты путем отклонения изменений из ветвь и ссылается на базовую ветвь. При работа с вложенными ветвь, базовая ветвь не обязательно является основной ветвь проект.
После завершения перевод или работа, специфичной для версии, в ветвь, любые изменения могут быть объединить в базовую ветвь. Как только все изменения будут объединить вверх по цепочке, ветвь верхнего уровня можно будет объединить в основную ветвь.
После успешного объединить, объединенная ветвь автоматически удаляется и появляется во вкладка для отслеживания истории.
Во время объединить к базовой ветвь применяются только изменения следующих ресурсов:
-
Языковые стандарты
-
Ключи
-
Переводы
Изменения других ресурсов, таких как действия, задания и заказы, не применяются.
Ветвь с активный дочерний элемент ветвь нельзя объединить, пока дочерний элемент ветвь не будут сначала удалены или объединить.
Конфликты
Конфликт возникает, когда ресурс (Phrase, ключ или языковой стандарт) был изменен как в текущей ветвь, так и в ее базовой ветвь после того, как ветвь была создана или в последний раз синхронизирована. Конфликты могут возникать на любом уровне стека ветвь, а не только при объединить с основной ветвь.
Чтобы объединить ветвь, выполните следующие действия:
-
На вкладка проект нажмите объединить с базовой ветвь рядом с нужной ветвь.
Откроется страница . Информацию о Phrase, которые будут изменены во время объединить, можно получить, нажав на ячейки.
-
Если есть конфликты, выбрать стратегию объединить:
-
Выберите , чтобы отклонить конфликтующие изменения и сохранить существующие Phrase.
-
Выберите , чтобы Заменить существующие Phrase изменениями из ветвь.
-
-
Нажмите объединить и подтвердить, чтобы применить изменения.
ветвь объединить с базовой ветвь и автоматически удаляется. Чтобы просмотреть историю объединить ветвь, откройте вкладка на странице .
Чтобы объединить ветвь через интерфейс приложений API или CPI, выполните:
$ Phrase ветвь объединить \\
--project_id <project_id> \
--name <name> \\
--data '{\"strategy\":\"use_main\"}' \\
--access_token <токен>
-
use_branchразрешает конфликты путем применения изменений из ветвь и используется по умолчанию, если не указано иное. -
use_mainразрешает конфликты путем отклонить изменений из ветвь.use_masterтакже поддерживается.
Действие объединить также автоматически удаляет объединенную ветвь.
При использовании CLI укажите ветвь для отправки или получения с помощью параметра --branch.
$ Phrase 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 Создать <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\"}\""