-
Los planes de Negocios y Empresas
Ponte en contacto con el equipo de ventas para preguntar por nuestros planes.
-
Plan Enterprise (heredado)
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. Copias de archivos de proyecto llamadas ramas permiten a los equipos trabajar en versiones paralelas del proyecto al mismo tiempo mientras retienen 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 cambios solo en esa rama. Cuando los cambios están completos, la rama se fusiona de nuevo en el proyecto principal. Se pueden trabajar múltiples ramas al mismo tiempo y después de la fusión, las ramas se pueden eliminar. 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 deseliminar.
-
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 de
reflejan solo el estado de la rama activa. Fusionar una rama en el proyecto principal actualiza los informes del proyecto principal. -
La vista de
contiene solo actividades en la rama activa. 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. -
La sincronización de GitHub solo se puede usar en el proyecto principal y no en ramas.
-
Comentarios realizados en una rama no son visibles en el proyecto principal y viceversa.
-
creadas en una rama no son visibles en el proyecto principal y viceversa. Cuando una rama se fusiona en el proyecto principal, se pierden las órdenes abiertas en ella.
-
Los traductores no pueden ser restringidos a ramas específicas, pero se les da permiso para trabajar en locales específicos. Se debe instruir a los traductores sobre cómo trabajar con ramas.
La ramificación está habilitada en la
de con la opción de proteger la rama principal de cambios.Cuando está habilitado, se presenta un menú de ramas en la pantalla del proyecto donde se pueden seleccionar ramas de trabajo. Para especificar una rama en CLI, usa el parámetro
--branch
:
--branch <branch_name>
Las ramas se enumeran en la vista
donde se presenta información sobre la creación y fusión. Las ramas también se pueden eliminar o fusionar y se pueden crear trabajos para esa rama desde la vista .Para listar todas las ramas del proyecto a través de API o CLI, ejecuta:
$ phrase branches list <project_id>
Para eliminar una rama a través de API o CLI, ejecuta:
$ phrase branch delete <project_id> <branch_name>
Los roles de Admin, Project Manager y Developer pueden crear nuevas ramas en el editor de traducción, a través de API o en el CLI.
Para crear una rama en el editor de traducción, sigue estos pasos:
-
Desde una página de
, selecciona la pestaña . -
Haz clic en Crear rama.
Se abre la ventana
. -
Proporcione un nombre para la rama.
-
Haz clic en Crear rama.
La nueva rama se añade a la lista.
Para crear una rama a través de API o CPI, ejecute:
$ phrase branches create --project_id <project_id> --data <data>
Para crear una rama al enviar traducciones, ejecute:
$ phrase push --branch <branch_name>
Después de realizar cambios en una rama, se puede unir de nuevo a la traducción principal para incorporar cualquier nueva traducción.
Solo se aplican cambios a los siguientes recursos en la rama principal durante las uniones:
-
Regiones
-
Claves
-
Traducciones
Los cambios en otros recursos, como Actividades, Trabajos y Órdenes, no se aplican.
Conflictos
Un conflicto ocurre cuando un recurso (traducción, clave o localización) ha cambiado en el proyecto principal entre el momento en que se crea una rama y cuando se une de nuevo al proyecto principal. Por ejemplo, las traducciones y configuraciones de clave (como las formas plurales) pueden haber cambiado en el proyecto principal después de que se crea una rama, haciendo que los valores en la rama sean diferentes de los del proyecto principal.
Para unir una rama, siga estos pasos:
-
Desde la vista Comparar y unir.
de un proyecto, seleccione una rama para unir y haga clic enSe abre la página
. La información sobre las traducciones que se modificarán durante la unión se puede acceder haciendo clic en las celdas. -
Si hay conflictos, seleccione una estrategia de unión:
-
Seleccione
para rechazar los cambios en conflicto y preservar las traducciones existentes. -
Selecciona
para reemplazar las traducciones existentes con los cambios de la rama.
-
-
Haz clic en Unir Rama.
La rama se une al proyecto principal.
Para unir una rama a través de API o CPI, ejecuta:
$ frase ramas unir \\
--project_id <project_id> \
--name <name> \\
--data '{"strategy":"use_main"}' \
--access_token <token>
-
usar_rama
resuelve conflictos aplicando cambios de la rama y si no se especifica es el predeterminado. -
usar_principal
resuelve conflictos rechazando cambios de la rama.usar_maestro
también es compatible.
Al usar CLI, especifica una rama para empujar o tirar con el parámetro --branch
.
$ phrase push --branch <branch_name> $ frase pull --branch <branch_name>
Si la rama especificada no existe en un proyecto, el cliente la crea.
Usa --usar-nombre-rama-local
para empujar y tirar usando el nombre de la rama de una rama git activa:
$ frase push --usar-nombre-rama-local $ frase pull --usar-nombre-rama-local
Todos los puntos finales de API que toman un argumento de proyecto también admiten el parámetro --branch
para realizar una acción en una rama específica de un proyecto:
$ frase cargar crear <project_id> \\ --branch <branch_name> --file /path/to/my/file.json \ --formato-de-archivo json \\ --id-localización abcd1234cdef1234abcd1234cdef1234 \\ --tags característica-asombrosa,necesita-revisión \\ --mapeo-localización "{"en": "2"}" \ --opciones-de-formato "{"foo": "bar"}"