-
los planes Business y Enterprise
Ponte en contacto con el equipo de ventas para preguntar por nuestros planes.
La ramificación se utiliza en el control de versiones de software. Las copias de archivos de proyecto llamadas ramas permiten a los equipos trabajar en versiones paralelas del proyecto al mismo tiempo mientras conservan una copia sin editar. Esto elimina el riesgo de sobrescribir accidentalmente los cambios de otros en los archivos del proyecto.
El proyecto principal se copia cuando se crea una nueva rama, realizándose los cambios solo en esa rama. Cuando los cambios están Completar, la rama se fusiona de nuevo en el proyecto principal. Se puede trabajar en varias ramas al mismo tiempo y, después de fusionarlas, las ramas se eliminan automáticamente. Las ramas fusionadas permanecen disponibles en la pestaña para un seguimiento simplificado del historial. Las etiquetas de una rama existente se copian a la nueva rama.
Limitaciones
-
Todos los roles excepto traductor y invitado tienen acceso a la vista de .
-
Las fusiones no se pueden revertir y las ramas no se pueden recuperar.
-
Los trabajos creados en una rama específica no son visibles en el proyecto principal y viceversa. Cuando una rama se fusiona en el proyecto principal, cualquier trabajo abierto en ella se pierde.
-
Los informes en la vista reflejan solo el estado de la rama activo. Fusionar una rama en el proyecto principal actualiza los informes del proyecto principal.
-
La vista contiene solo actividades en la rama activo. Las actividades en las ramas no son visibles en el proyecto principal y viceversa. Las actividades en una rama se pierden al fusionarla en el proyecto principal.
-
GitHub Sync solo se puede utilizar en el proyecto principal y no en las ramas.
-
Los comentarios realizados en una rama no son visibles en el proyecto principal y viceversa.
-
creados en una rama no son visibles en el proyecto principal y viceversa. Cuando una rama se fusiona en el proyecto principal, cualquier pedido abierto en ella se pierde.
-
Los traductores no pueden limitarse a ramas específicas, pero tienen permiso para trabajar en locales específicos. Se debe instruir a los traductores sobre cómo trabajar con ramas.
La ramificación se habilita en la Avanzado de la con la opción de proteger la rama principal de cambios.
Cuando se habilita, se presenta un menú de rama en la pantalla del proyecto donde se pueden seleccionar las ramas de trabajo. Para especificar una rama en CLI, use el parámetro
--rama:
--branch <branch_name>
Las ramas se enumeran en la Ramas de un proyecto, donde se presenta la información de creación y fusión. Las ramas también se pueden eliminar o fusionar y se pueden crear trabajos para esa rama desde la Ramas.
Para listar todas las ramas de un proyecto a través de la API o CLI, ejecute:
$ phrase branches list --project_id <ID_del_proyecto> # p. ej. $ phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ phrase branches list <ID_del_proyecto>
Para eliminar una rama a través de la API o CLI, ejecute:
$ phrase branches delete --project_id <project_id> --name <branch_name> # p. ej. $ phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ phrase branch eliminar <ID_del_proyecto> <nombre_de_la_rama>
Los roles de admin, project manager, diseñador y desarrollador pueden crear nuevas ramas en la pestaña , a través de la API o en la CLI. Las ramas se pueden crear desde cualquier otra rama, no solo desde la rama principal. Se admiten hasta 5 niveles de rama.
Para crear una rama desde la interfaz de usuario, siga estos pasos:
-
Desde una página de , seleccione la pestaña .
-
Haga clic en Crear rama.
Se abre la ventana .
-
Proporcione un nombre para la rama.
-
Seleccione una de la lista de ramas existentes.
-
Haz clic en Crear.
La nueva rama se añade a la lista.
Para crear una rama a través de la API o CLI, ejecute:
$ phrase branches create --project_id <project_id> --data <data>
Para crear una rama al enviar traducciones, ejecute:
$ phrase push --branch <branch_name>
La sincronización garantiza que la rama de trabajo se mantenga alineada con los últimos cambios de la rama de la que se originó. De esta manera, los traductores pueden trabajar con una versión actualizada del contenido también en proyectos a largo plazo.
Para sincronizar una rama con su rama base, siga estos pasos:
-
En la pestaña , haga clic en Sincronizar con la rama base junto a la rama deseada.
Se muestra la página con información sobre cualquier conflicto y cambio que se deba sincronizar con la rama base.
-
Haga clic en cualquiera de los cambios detectados para revisarlo antes de sincronizar.
Se muestra una tabla con detalles sobre el cambio seleccionado.
-
Seleccione Sync y confirme para aplicar los cambios.
Los cambios se añaden a la rama base y se vuelven visibles en el editor de traducción. La información sobre la última sincronización se muestra en la columna de la pestaña .
La sincronización de la rama también se puede realizar a través de la API ejecutando este comando de la CLI:
$ phrase branches sync \\
--project_id <project_id> \\
--name <branch_name> \
--data '{"strategy":"use_main"}' \
--access_token <token>
-
use_branchresuelve conflictos aplicando cambios de la rama y, si no se especifica, es el valor predeterminado. -
use_mainresuelve conflictos rechazando cambios de la rama y hace referencia a la rama base. Al trabajar con ramas apiladas, la rama base no es necesariamente la rama principal real del proyecto.
Después de completar el trabajo de traducción o específico de una versión en una rama, cualquier cambio puede unirse a la rama base. Una vez que todos los cambios se han unido en la cadena, la rama de nivel superior puede unirse a la rama principal.
Después de una unión exitosa, la rama unida se elimina automáticamente y aparece en la pestaña para el seguimiento del historial.
Solo los cambios en los siguientes recursos se aplican a la rama base durante las uniones:
-
Regiones
-
Claves
-
Traducciones
Los cambios en otros recursos, como Actividades, Trabajos y Pedidos, no se aplican.
Las ramas con elementos secundarios activos no se pueden unir hasta que los elementos secundarios se eliminen o se unan primero.
Conflictos
Un conflicto ocurre cuando un recurso (traducción, clave o localización) ha cambiado tanto en la rama actual como en su rama base después de que la rama fuera creada o sincronizada por última vez. Los conflictos pueden ocurrir en cualquier nivel de la pila de ramas, no solo al unir en la principal.
Para unir una rama, seguir estos pasos:
-
Desde la pestaña de un proyecto, hacer clic en unir con rama base Siguiente a la rama deseada.
La página se abre. Se puede acceder a la información sobre las traducciones que se modificarán durante la unión haciendo clic en las celdas.
-
Si hay conflictos, seleccionar una estrategia de unión:
-
Seleccionar para rechazar los cambios conflictivos y preservar las traducciones existentes.
-
Seleccionar para Reemplazar las traducciones existentes con los cambios de la rama.
-
-
Hacer clic en unir y confirmar para aplicar los cambios.
La rama se une a la rama base y se elimina automáticamente. Para revisar el historial de la rama unida, abrir la pestaña en la página .
Para unir una rama mediante API o CPI, ejecutar:
$ phrase branches merge \\
--project_id <project_id> \\
--name <name> \\
--data '{"strategy":"use_main"}' \
--access_token <token>
-
use_branchresuelve conflictos aplicando cambios de la rama y, si no se especifica, es el valor predeterminado. -
use_mainresuelve conflictos rechazando los cambios de la rama.use_mastertambién es compatible.
La acción unir también elimina la rama unida automáticamente.
Al usar CLI, especificar una rama para enviar o extraer con el parámetro --rama.
$ phrase push --branch <branch_name> $ phrase pull --branch <branch_name>
Si la rama especificada no existe en un proyecto, el cliente la crea.
Usar --use-local-branch-name para enviar y extraer usando el nombre de una rama git activa:
$ Phrase push --use-local-branch-name $ Phrase pull --use-local-branch-name
Todos los endpoints de la API que aceptan un argumento de proyecto también admiten el parámetro --branch para realizar una acción en una rama específica de un proyecto:
$ phrase upload create <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"}"