Compartir vía


Bifurcar carpetas y archivos

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Puede utilizar las bifurcaciones para lograr los objetivos siguientes:

  • Administrar el trabajo simultáneo de varios equipos en el mismo código base.
  • Aislar los riesgos que plantean los distintos conjuntos de cambios del código base.
  • Tomar capturas y, a continuación, admitir los cambios aislados posteriores (por ejemplo, para crear una rama de versión).

Por ejemplo, en la ilustración siguiente se muestra la estructura de rama que la compañía DinnerNow desarrolló para satisfacer sus necesidades empresariales.

Diagrama que muestra una estructura de rama.

El equipo de características A y el equipo de características B realizan su trabajo en ramas independientes. Cuando los equipos están listos para integrar su trabajo, combinan sus bifurcaciones en la bifurcación Dev. Cuando las compilaciones de la bifurcación Dev son estables y están listas para someterse a las pruebas, los equipos combinan la bifurcación Dev en la bifurcación Test.

Cuando se publica cada versión, a partir de la bifurcación Main se crea una nueva bifurcación de versiones, como la bifurcación Version1 y la bifurcación Version2. Según esta estrategia, la compañía puede mejorar o corregir cada versión anterior del producto de manera independiente si es necesario.

Una operación de creación de rama se puede realizar mediante el Explorador de control de código fuente de Visual Studio o, como se demuestra en este artículo, ejecutando el comando branch en un símbolo del sistema. Para obtener más información, consulte Comando branch.

Sugerencia

Las bifurcaciones son una técnica importante y eficaz para crear un conjunto paralelo de versiones de archivos. Sin embargo, el uso de bifurcaciones puede agregar complejidad y costes al proyecto. Por ejemplo, al fusionar mediante combinación dos ramas, es posible que se deban resolver conflictos.

Antes de crear una bifurcación, debería considerar si la aplicación de una etiqueta satisface mejor sus necesidades. Al aplicar una etiqueta, se puede tomar una captura del estado de los archivos de forma rápida y sencilla de forma que sea posible recuperar o compilar los archivos en ese estado más adelante. Para obtener más información, consulte Use etiquetas para tomar una instantánea de los archivos en Azure Repos.

Requisitos previos

  • Para convertir una carpeta en una rama, el permiso Administrar rama debe establecerse en Permitir.
  • Para crear una rama, el permiso Administrar rama debe estar establecido en Permitir para las rutas de acceso a las ramas de origen y de destino. El permiso Fusionar mediante combinación para la ruta de acceso de la rama de destino debe estar establecido en Permitir.
  • Para crear una rama de una carpeta o archivo, los permisos Extraer del repositorio y Fusionar mediante combinación en la ruta de acceso de destino deben estar establecidos en Permitir.

Para más información, consulte Permisos de TFVC predeterminados.

Conversión de una carpeta en una rama

Las ramas son diferentes de las carpetas. En la ilustración siguiente se muestra el nivel superior de la estructura de carpetas de DinnerNow en el Explorador de control de código fuente de Visual Studio.

Ilustración que muestra la estructura de carpetas en el Explorador de control de código fuente.

Como se muestra en la ilustración, todavía se pueden usar carpetas para organizar las ramas en la jerarquía del control de versiones de un proyecto. Sin embargo, las carpetas y bifurcaciones tienen un aspecto y funcionalidad diferentes. Al hacer clic con el botón secundario del mouse en una carpeta o rama y seleccionar Opciones avanzadas>Propiedades, la información y funcionalidad mostradas son diferentes.

Al realizar operaciones de bifurcación, las bifurcaciones tienen ventajas importantes sobre las carpetas. Las ramas admiten características de control de versiones que proporcionan una visibilidad adicional de la estructura de rama y la combinación de conjuntos de cambios. Aunque se pueden crear bifurcaciones y realizar fusiones mediante combinación entre carpetas, el procedimiento recomendado cuando se trabaja en equipo es crear bifurcaciones y realizar fusiones mediante combinación solo entre bifurcaciones. En el siguiente procedimiento se explica cómo convertir una carpeta en una bifurcación.

Importante

Asegúrese de que la carpeta que quiere convertir existe en el servidor. Si el icono de suma pendienteIcono de estado de suma pendiente de TFSC. aparece junto a la carpeta en el Explorador de control de código fuente, haga clic con el botón derecho en la carpeta y seleccione Proteger cambios pendientes.

  1. En el Explorador de control de código fuente, haga clic con el botón derecho en la carpeta que quiere convertir y seleccione Rama y combinación>Convertir en rama.

  2. En el cuadro de diálogo Convert Folder to Branch (Convertir carpeta en rama), haga lo siguiente:

    • En el campo Propietario, escriba opcionalmente el nombre de la persona que posee esta rama. Este campo es solo para información y no concede permisos.
    • En el campo Descripción, escriba opcionalmente información para ayudar a otros miembros del equipo a usar esta rama o comprender su propósito.
    • Si va a convertir una carpeta de la que ya creó una rama, active la casilla Recursively perform this conversion for all branched child folders (Realizar esta conversión de forma recursiva para todas las carpetas secundarias bifurcadas). Esta opción convierte todas las carpetas bifurcadas a partir de esta carpeta en ramas.
  3. Seleccione Convertir.

Importante

No se pueden anidar ramas. Por lo tanto, no se puede convertir una carpeta en una rama si contiene o está contenida por una rama. Por ejemplo, en la ilustración siguiente se demuestra que ni el elemento primario ni el elemento secundario de la rama de FeatureTeamA pueden convertirse en una rama.

Ilustración que muestra que no se permiten ramas anidadas.

Después de convertir una carpeta en una rama, puede convertirla de nuevo a una carpeta si el equipo decide cambiar la estructura de rama.

Conversión de una rama en una carpeta

  1. En Explorador de control de código fuente, seleccione la rama que quiere convertir.
  2. En el menú Archivo de Visual Studio, seleccioneControl de código fuente>Rama y combinación>Convertir a carpeta y, después, seleccione .

Crear una bifurcación de una bifurcación

Después de convertir una carpeta en una rama, puede crear otras ramas a partir de esa rama. El procedimiento siguiente muestra cómo puede usar Visual Studio para crear una rama. Para realizar esta tarea en el símbolo del sistema, consulte Comando branch.

  1. En el Explorador de control de código fuente, haga clic con el botón secundario en la rama a partir de la cual quiere crear una rama, seleccione Rama y combinación>Rama.

  2. En el cuadro de diálogo Branch from <Branch name> (Crear una rama desde <Nombre de rama>), en Crear una rama desde la versión, puede desplegar y seleccionar una opción de la lista Por:

    • Última versióncrea la rama para la versión más reciente del control de versiones.
    • Conjunto de cambios permite escribir el número de un conjunto de cambios en el cuadro Conjunto de cambios o seleccionar los puntos suspensivos ... para abrir el cuadro de diálogo Buscar conjuntos de cambios. Para obtener más información, consulte Buscar y ver conjuntos de cambios.
    • Fecha le permite escribir o seleccionar una fecha en el cuadro Fecha.
    • Etiqueta le permite escribir o buscar una etiqueta. Para obtener más información, consulte Use etiquetas para tomar una instantánea de los archivos en Azure Repos.
    • Versión del área de trabajo le permite crear la rama para una versión en un área de trabajo diferente.
  3. En Nombre de rama de destino, especifique o busque y seleccione la ruta de acceso de la rama nueva.

  4. Seleccione Rama. La rama se crea y aparece en el Explorador de control de código fuente.

Nota:

A diferencia de la mayoría de las operaciones del control de versiones, esta operación no genera un cambio pendiente. En su lugar, la operación se completa inmediatamente y no se puede deshacer.

Crear una bifurcación de un archivo o una carpeta

Aunque puede crear una rama de un archivo o carpeta directamente, recomendamos que lo evite. Si bifurca directamente un archivo o una carpeta, no podrá ver la jerarquía de ramas ni realizar un seguimiento de los conjuntos de cambios. El procedimiento recomendado es crear una rama y realizar una fusión mediante combinación solo entre ramas, tal y como se describe anteriormente en este artículo.

Pero si tiene una necesidad especial de crear una rama de una carpeta o archivo, puede llevar a cabo el procedimiento siguiente para realizar esta tarea. Para realizar esta tarea en el símbolo del sistema, consulte Comando branch.

  1. En el Explorador de control de código fuente, haga clic con el botón secundario en la carpeta o archivo del que quiere crear una rama y seleccione Rama y combinación>Rama.

  2. En el cuadro de diálogo Rama, en el cuadro Destino, modifique la ubicación y el nombre de la rama nueva, o seleccione Examinar para buscar y seleccionar un destino.

  3. En Crear una rama desde la versión, puede desplegar y seleccionar una opción en la lista Por:

    • Última versióncrea la rama para la versión más reciente del control de versiones.
    • Conjunto de cambios permite escribir el número de un conjunto de cambios en el cuadro Conjunto de cambios o seleccionar los puntos suspensivos ... para abrir el cuadro de diálogo Buscar conjuntos de cambios. Para obtener más información, consulte Buscar y ver conjuntos de cambios.
    • Fecha le permite escribir o seleccionar una fecha en el cuadro Fecha.
    • Etiqueta le permite escribir o buscar una etiqueta. Para obtener más información, consulte Use etiquetas para tomar una instantánea de los archivos en Azure Repos.
    • Versión del área de trabajo le permite crear la rama para una versión en un área de trabajo diferente.
  4. Opcionalmente, seleccione Descargar el elemento de destino en el área de trabajo para crear una copia del elemento controlado por versiones en el área de trabajo local. Desactive la casilla si no necesita una copia local y prefiere no descargar muchos elementos en su equipo para mejorar el rendimiento.

  5. Seleccione Aceptar. La rama se crea y aparece en el Explorador de control de código fuente.

    Nota:

    Aparece una ventana Buscar carpeta si seleccionó Descargar el elemento de destino en el área de trabajo y la carpeta local que especificó no está asignada en el área de trabajo actual. Busque una carpeta, o seleccione Crear nueva carpeta, especifique la carpeta para su sincronización con los elementos con control de versiones y después seleccione en Aceptar.