-
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 de 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 múltiples ramas al mismo tiempo y, después de fusionar, 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.
-
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 ramas no son visibles en el proyecto principal y viceversa. Las actividades en una rama se pierden al fusionarla en el proyecto principal.
-
La sincronización de GitHub solo se puede utilizar en el proyecto principal y no en ramas.
-
Los comentarios realizados en una rama no son visibles en el proyecto principal y viceversa.
-
Los 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 restringirse a ramas específicas, pero se les da permiso para trabajo en locales<1> específicos. Se debe instruir a los traductores sobre cómo trabajo con ramas.
La ramificación se habilita en la
Cuando se habilita, se presenta un menú de rama <1> en la pantalla del proyecto donde se pueden seleccionar las ramas de trabajo. Para especificar una rama en CLI, usar el parámetro
--rama<4>:
--branch <branch_name>
Las ramas se enumeran en la
Para listar todas las ramas de un proyecto a través de la API<1> 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 rama 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 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 , Seleccionar la pestaña .
-
Haga clic en Crear rama.
Se abre la ventana .
-
Proporcione un nombre para la rama.
-
Seleccionar 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 API o CPI, ejecute:
$ Phrase branches Crear --project_id <ID del proyecto> --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 Siguiente a la rama deseada.
La página se muestra 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.
-
Seleccionar Sync y confirmar 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 rama también se puede realizar a través de la API ejecutando este comando 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 del proyecto principal real.
Después de completar el trabajo de traducción o específico de la 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 la 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 unir haciendo clic en las celdas.
-
Si hay conflictos, seleccionar una estrategia de unir:
-
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 a través de 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 --rama <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 rama de una rama git activa:
$ Phrase push --use-local-branch-name $ Phrase pull --use-local-branch-name
Todos los puntos finales 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"}"