-
Planos Business e Enterprise
Entre em contato com o departamento de Vendas para perguntas sobre o licenciamento.
A ramificação é usada no controle de versão de software. Cópias de arquivos de projeto chamadas ramos permitem que equipes trabalhem em versões paralelas do projeto ao mesmo tempo, mantendo uma cópia não editada. Isso elimina o risco de sobrescrever acidentalmente as alterações de outras pessoas nos arquivos do projeto.
O projeto principal é copiado quando um novo ramo é criado, com as alterações sendo feitas apenas nesse ramo. Quando as alterações estão Concluir, o ramo é mesclado de volta ao projeto principal. Vários ramos podem ser trabalhados ao mesmo tempo e, após a mesclagem, os ramos são excluídos automaticamente. Ramos mesclados permanecem disponíveis na Mesclado para rastreamento simplificado do histórico. Tags de um ramo existente são copiadas para o novo ramo.
Limitações
-
Todas as funções exceto tradutor e convidado podem acessar a visualização de .
-
Mesclagens não podem ser revertidas e ramos não podem ser recuperados.
-
Trabalhos criados em um ramo específico não são visíveis no projeto principal e vice-versa. Quando um ramo é mesclado ao projeto principal, quaisquer trabalhos abertos nele são perdidos.
-
Relatórios na visualização de refletem apenas o estado do ramo ativo. Mesclar um ramo ao projeto principal atualiza os relatórios do projeto principal.
-
A visualização de contém apenas atividades no ramo ativo. Atividades em ramos não são visíveis no projeto principal e vice-versa. Atividades em um ramo são perdidas ao mesclá-lo ao projeto principal.
-
A sincronização com o GitHub só pode ser usada no projeto principal e não em ramos.
-
Comentários feitos em um ramo não são visíveis no projeto principal e vice-versa.
-
criados em um ramo não são visíveis no projeto principal e vice-versa. Quando um ramo é mesclado ao projeto principal, quaisquer pedidos abertos nele são perdidos.
-
Tradutores não podem ser restritos a ramos específicos, mas recebem permissão para trabalho em locais específicos. Tradutores devem ser instruídos sobre como trabalho com ramos.
A ramificação é ativada na
Quando ativado, um menu de ramo é apresentado na tela do projeto onde ramos de trabalho podem ser selecionados. Para especificar um ramo na CLI, usar o parâmetro
--branch:
--branch <branch_name>
Ramos são listados na
Para listar todos os ramos de um projeto via API ou CLI, execute:
$ phrase branches list --project_id <project_id> # ex. $ phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ phrase branches list <project_id>
Para excluir um ramo via API ou CLI, execute:
$ phrase branches delete --project_id <project_id> --name <branch_name> # ex. $ phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ phrase branch delete <project_id> <branch_name>
As funções de admin, gerente de projetos, Designer e Developer podem Criar novos ramos na aba , via API ou na CLI. Ramos podem ser criados a partir de qualquer outro ramo, não apenas do ramo principal. São suportados até 5 níveis de ramo.
Para Criar um ramo a partir da interface do usuário, siga estas etapas:
-
A partir de uma página de , Selecionar a aba .
-
Clique em Criar ramo.
A janela é aberta.
-
Forneça um nome para o ramo.
-
Selecionar um a partir da lista de ramos existentes.
-
Clique em Criar.
O novo ramo é adicionado à lista.
Para Criar um ramo via API ou CPI, execute:
$ Phrase ramos Criar --projeto_id <ID_projeto> --data <data>
Para Criar um ramo ao enviar traduções, execute:
$ Phrase push --ramo <nome_do_ramo>
A sincronização garante que o ramo de trabalho permaneça alinhado com as alterações mais recentes do ramo do qual se originou. Dessa forma, os tradutores podem realizar o trabalho com uma versão atualizada do conteúdo também em projetos de longo prazo.
Para sincronizar um ramo com seu ramo base, siga estas etapas:
-
Na aba , clique em Sincronizar com ramo base Seguinte ao ramo desejado.
A página é exibida com informações sobre quaisquer conflitos e alterações a serem sincronizados com o ramo base.
-
Clique em qualquer uma das alterações detectadas para revisá-la antes de sincronizar.
Uma tabela com detalhes sobre a alteração selecionada é exibida.
-
Selecionar Sync e confirmar para aplicar as alterações.
As alterações são adicionadas ao ramo base e tornam-se visíveis no editor de tradução. Informações sobre a última sincronização são exibidas na coluna da aba .
A sincronização de ramo também pode ser realizada via API executando este comando CLI:
$ phrase branches sync \\
--project_id <project_id> \\
--name <branch_name> \
--data '{"strategy":"use_main"}' \
--access_token <token>
-
use_branchresolve conflitos aplicando alterações do ramo e, se não especificado, é o padrão. -
use_mainresolve conflitos rejeitando alterações do ramo e refere-se ao ramo base. Ao trabalhar com ramos empilhados, o ramo base não é necessariamente o ramo principal do projeto.
Após concluir o trabalho de tradução ou específico de versão em um ramo, quaisquer alterações podem ser mescladas no ramo base. Uma vez que todas as alterações sejam mescladas na cadeia, o ramo de nível superior pode ser mesclado no ramo principal.
Após uma mesclagem bem-sucedida, o ramo mesclado é excluído automaticamente e aparece na aba para rastreamento de histórico.
Apenas alterações nos seguintes recursos são aplicadas ao ramo base durante as mesclagens:
-
Locais
-
Chaves
-
Traduções
Alterações em outros recursos, como Atividades, Trabalhos e Pedidos, não são aplicadas.
Ramos com ramos secundários ativos não podem ser mesclados até que os ramos secundários sejam excluídos ou mesclados primeiro.
Conflitos
Um conflito ocorre quando um recurso (tradução, chave ou local) foi alterado tanto no ramo atual quanto no seu ramo base após o ramo ter sido criado ou sincronizado pela última vez. Conflitos podem ocorrer em qualquer nível da pilha de ramos, não apenas ao mesclar no principal.
Para mesclar um ramo, siga estas etapas:
-
Na aba de um projeto, clique em mesclar com o ramo base Seguinte ao ramo desejado.
A página abre. Informações sobre traduções a serem modificadas durante a mesclagem podem ser acessadas clicando nas células.
-
Se houver conflitos, selecionar uma estratégia de mesclagem:
-
Selecione para rejeitar as alterações conflitantes e preservar as traduções existentes.
-
Selecione para Substituir as traduções existentes pelas alterações do ramo.
-
-
Clique em mesclar e confirmar para aplicar as alterações.
O ramo é mesclado ao ramo base e excluído automaticamente. Para revisar o histórico do ramo mesclado, abra a aba na página .
Para mesclar um ramo via API ou CPI, execute:
$ phrase branches merge \\
--project_id <project_id> \\
--name <name> \\
--data '{"strategy":"use_main"}' \
--access_token <token>
-
use_branchresolve conflitos aplicando alterações do ramo e, se não especificado, é o padrão. -
use_mainresolve conflitos rejeitando alterações do ramo.use_mastertambém é suportado.
A ação mesclar também exclui o ramo mesclado automaticamente.
Ao usar a CLI, especifique um ramo para enviar ou receber alterações com o parâmetro --branch.
$ Phrase push --ramo <nome_do_ramo> $ phrase pull --branch <branch_name>
Se o ramo especificado não existir em um projeto, o cliente o cria.
Usar --use-local-branch-name para fazer push e pull usando o nome do ramo de um ramo git ativo:
$ Phrase push --use-local-branch-name $ Phrase pull --use-local-branch-name
Todos os endpoints da API que aceitam um argumento de projeto também suportam o parâmetro --branch para realizar uma ação em um ramo específico de um projeto:
$ Phrase upload Criar <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"}"