Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015
Las directivas de rama ayudan a los equipos a proteger sus ramas importantes de desarrollo. Las directivas aplican los estándares de administración de cambios y la calidad del código del equipo. En este artículo se describe cómo establecer y administrar directivas de rama. Para obtener información general sobre todas las directivas y configuraciones de repositorio y rama, consulte Configuración y directivas del repositorio de Git.
Una rama con directivas necesarias configuradas no se puede eliminar y requiere solicitudes de extracción (PR) para todos los cambios.
Si desea usar Azure DevOps comandos az repos policy de la CLI para administrar directivas de rama, siga los pasos descritos en Introducción a la CLI Azure DevOps.
Para administrar directivas de rama, seleccione Reposramas para abrir la página Ramas en el portal web.
También puede obtener la configuración de directiva de rama con Project Configuraciónnombre de rama directivas de rama de directivas de repositorio. >
Las ramas que tienen directivas muestran un icono de directiva. Puede seleccionar el icono para ir directamente a la configuración de directivas de la rama.
Para establecer directivas de rama, busque la rama que desea administrar. Puede examinar la lista o buscar la rama en el cuadro Nombre de la rama de búsqueda en la esquina superior derecha.
Seleccione el icono Más opciones junto a la rama y, a continuación, seleccione Directivas de rama en el menú contextual.
Busque la rama en la página. Puede examinar la lista o puede buscar la rama mediante el cuadro Buscar todas las ramas en la esquina superior derecha.
Seleccione el botón ... . Seleccione Directivas de rama en el menú contextual.
Configure directivas en la página de configuración de la rama. Consulte las secciones siguientes para obtener descripciones e instrucciones para cada tipo de directiva.
Configure las directivas en la página Directivas. Consulte las secciones siguientes para obtener descripciones de cada tipo de directiva. Seleccione Guardar cambios para aplicar la nueva configuración de directiva.
Puede usar la CLI Azure DevOps para enumerar o mostrar directivas para una rama o repositorio.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parámetros
Parámetro
Descripción
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
org, organization
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
query-examples
Cadena JMESPath recomendada. Puede copiar una de las consultas y pegarla después del parámetro entre --query comillas dobles para ver los resultados. Puede agregar una o varias palabras clave posicionales para que las sugerencias se basen en estas palabras clave.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
El comando siguiente devuelve todas las directivas de rama en vigor en main la rama del repositorio de Fabrikam, d28cd374-e7f0-4b1f-ad60-f349f155d47c id. . Puede obtener el identificador del repositorio mediante la ejecución de az repos list .
En este ejemplo se usa la siguiente configuración predeterminada: az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
az repos policy list --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --branch main --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
5 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
6 Comment requirements False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
12 Required reviewers True False d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
13 Required reviewers False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parámetros
Parámetro
Descripción
id, policy-id
Identificador de la directiva. Requerido.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
org, organization
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
query-examples
Cadena JMESPath recomendada. Puede copiar una de las consultas y pegarla después del parámetro entre --query comillas dobles para ver los resultados. Puede agregar una o varias palabras clave posicionales para que las sugerencias se basen en estas palabras clave.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Azure DevOps comandos de la CLI no se admiten para Azure DevOps Server 2019 y versiones anteriores.
Requerir un número mínimo de revisores
Las revisiones de código son importantes para los proyectos de desarrollo de software. Para asegurarse de que los equipos revisen y aprueben solicitudes de solicitud, puede requerir la aprobación de un número mínimo de revisores. La directiva básica requiere que un número especificado de revisores apruebe el código, sin rechazos.
Para establecer la directiva, en Directivas de rama, establezca Requerir un número mínimo de revisores en En. Escriba el número necesario de revisores y seleccione cualquiera de las siguientes opciones:
Seleccione Permitir que los solicitantes aprueben sus propios cambios para permitir que el creador de una solicitud de cambio vote su aprobación. De lo contrario, el creador todavía puede votar Aprobar en la SOLICITUD, pero su voto no cuenta para el número mínimo de revisores.
Seleccione Prohibir que el pusher más reciente apruebe sus propios cambios para aplicar la segregación de tareas. De forma predeterminada, cualquier persona con permiso de inserción en la rama de origen puede agregar confirmaciones y votar la aprobación de la solicitud de inserción. Seleccionar esta opción significa que el voto del pusher más reciente no cuenta, incluso si normalmente pueden aprobar sus propios cambios.
Seleccione Permitir finalización incluso si algunos revisores votan para esperar o rechazar para permitir la finalización de solicitudes de solicitud, incluso si algunos revisores votan en contra de la aprobación. El número mínimo de revisores debe aprobarse.
En Cuando se insertan nuevos cambios:
Seleccione Requerir al menos una aprobación en la última iteración para requerir al menos un voto de aprobación para el último cambio de la rama de origen.
Seleccione Restablecer todos los votos de aprobación (no restablece los votos para rechazar o esperar) para quitar todos los votos de aprobación, pero mantenga los votos para rechazar o esperar, siempre que cambie la rama de origen.
Seleccione Restablecer todos los votos de revisor de código para quitar todos los votos de revisor cada vez que cambie la rama de origen, incluidos los votos para aprobar, rechazar o esperar.
Si los solicitantes pueden aprobar sus propios cambios no está seleccionado, el creador de la solicitud de extracción todavía puede votar Aprobar en su solicitud de extracción, pero su voto no cuenta para el número mínimo de revisores.
Si algún revisor rechaza los cambios, la solicitud de extracción no se puede completar a menos que seleccione Permitir finalización incluso si algunos revisores votan para esperar o rechazar.
Puede restablecer los votos del revisor de código cuando se insertan nuevos cambios en la rama de origen. Seleccione Reset code reviewer votes when there are new changes(Restablecer votos de revisor de código cuando haya cambios nuevos).
Si se aprueban todas las demás directivas, el creador puede completar la solicitud de solicitud cuando el número necesario de revisores la apruebe.
Permitir los downvotes. Valores aceptados: false , true . Requerido.
blocking
Bloquee si no se cumple la directiva. Valores aceptados: false , true . Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
creator-vote-counts
Contar el voto del creador. Valores aceptados: false , true . Requerido.
enabled
Habilite la directiva. Valores aceptados: false , true . Requerido.
minimum-approver-count
Número mínimo de aprobadores necesarios. Por ejemplo: 2. Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
reset-on-source-push
Restablecer votos cuando se insertan cambios en el origen. Valores aceptados: false , true . Requerido.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es prefix , la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo del argumento --branch . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se establece el número mínimo de aprobaciones necesarias en para las solicitudes de extracción en 2 la rama del repositorio de main Fabrikam. La directiva permite las cancelaciones, lo que significa que las solicitudes de extracción se pueden completar incluso si algunos revisores votan no aprobar, siempre y cuando el número mínimo vote para aprobar. Las inserciones en la rama de origen no restablecen los votos. La directiva también permite a los creadores de solicitudes de extracción aprobar sus propias solicitudes de extracción.
En este ejemplo se usa la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
az repos policy approver-count create --allow-downvotes true --blocking true --branch main --creator-vote-counts true --enabled true --minimum-approver-count 2 --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --reset-on-source-push false --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
27 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Actualización de la directiva de recuento de aprobadores
Permitir los downvotes. Valores aceptados: false , true .
blocking
Bloquee si no se cumple la directiva. Valores aceptados: false , true .
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es prefix , la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo del argumento --branch . Valores aceptados: exact , prefix . Valor predeterminado: exact.
creator-vote-counts
Contar el voto del creador. Valores aceptados: false , true .
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
enabled
Habilite la directiva. Valores aceptados: false , true .
minimum-approver-count
Número mínimo de aprobadores necesarios. Por ejemplo: 2.
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
reset-on-source-push
Restablece los votos cuando se insertan cambios en el origen. Valores aceptados: false , true .
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Azure DevOps comandos de la CLI no se admiten para Azure DevOps Server 2019 y versiones anteriores.
Buscar elementos de trabajo vinculados
Para el seguimiento de la administración deelementos de trabajo, puede requerir asociaciones entre los puntos de actividad y los elementos de trabajo. La vinculación de elementos de trabajo proporciona más contexto para los cambios y garantiza que las actualizaciones pasan por el proceso de seguimiento de elementos de trabajo.
Para establecer la directiva, en Directivas de rama, establezca Comprobar elementos de trabajo vinculados en En. Esta configuración requiere que los elementos de trabajo se vinculen a una pr para que la pr se combine. Haga que el valor Sea opcional para advertir cuando no haya elementos de trabajo vinculados, pero permita la finalización de la solicitud de extracción.
Puede usar CLI de Azure az repos policy work-item-linking para crear y actualizar directivas de vinculación de elementos de trabajo para una rama o repositorio.
Creación de una directiva de vinculación de elementos de trabajo
Bloquee si no se cumple la directiva. Valores aceptados: false , true . Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
enabled
Habilite la directiva. Valores aceptados: false , true . Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es , la directiva se aplica a prefix todas las carpetas de rama que coinciden con el prefijo del --branch argumento . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detectar automáticamente la organización. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Actualización de la directiva de vinculación de elementos de trabajo
Bloquee si no se cumple la directiva. Valores aceptados: false , true .
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es , la directiva se aplica a prefix todas las carpetas de rama que coinciden con el prefijo del --branch argumento . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detectar automáticamente la organización. Valores aceptados: false , true .
enabled
Habilite la directiva. Valores aceptados: false , true .
minimum-approver-count
Número mínimo de aprobadores necesarios. Por ejemplo: 2.
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se actualiza el identificador de directiva para que la rama del repositorio 3main de Fabrikam esté habilitada, pero es opcional. En el ejemplo se usa la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
>az repos policy work-item-linking update --id 3 --blocking false --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Azure DevOps comandos de la CLI no se admiten para Azure DevOps Server 2019 y versiones anteriores.
Comprobación de la resolución de comentarios
La directiva Buscar resolución de comentarios comprueba si se resuelven todos los comentarios de la pr.
Configure una directiva de resolución de comentarios para la rama estableciendo Comprobar la resolución de comentarios en En. A continuación, seleccione si quiere que la directiva sea Obligatoria u Opcional.
Bloquee si no se cumple la directiva. Valores aceptados: false , true . Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
enabled
Habilite la directiva. Valores aceptados: false , true . Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es prefix , la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo del argumento --branch . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Actualización de la directiva de resolución de comentarios
Bloquee si no se cumple la directiva. Valores aceptados: false , true .
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es prefix , la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo del argumento --branch . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
enabled
Habilite la directiva. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se actualiza el identificador de directiva de resolución de 6 comentarios en la rama del repositorio de Fabrikam que se va a main bloquear. Los comentarios deben resolverse antes de que las solicitudes de extracción se puedan combinar. En este ejemplo se usa la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
az repos policy comment-required update --id 6 --blocking true --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- -------------------- ------------- ------------ ------------------------------------ ---------------
6 Comment requirements True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Azure DevOps comandos de la CLI no se admiten para Azure DevOps Server 2019 y versiones anteriores.
Limitar tipos de combinación
Azure Repos varias estrategias de combinación y, de forma predeterminada, se permiten todas ellas. Puede mantener un historial de ramas coherente aplicando una estrategia de combinación para la finalización de la pr.
Establezca Limitar tipos de combinación en On para limitar los tipos de mezcla que se permitirán en el repositorio.
La combinación básica (sin avance rápido) crea una confirmación de combinación en el destino cuyos elementos principal son las ramas de destino y de origen.
La combinación de squash crea un historial lineal con una sola confirmación en la rama de destino con los cambios de la rama de origen. Obtenga más información sobre la combinación de squash y cómo afecta al historial de ramas.
Rebase y avance rápido crea un historial lineal mediante la reproducción de confirmaciones de origen en la rama de destino sin confirmación de combinación.
Volver a base con confirmación de combinación reproduce las confirmaciones de origen en el destino y también crea una confirmación de combinación.
Puede usar la CLI Azure DevOps az repos policy merge-strategy para establecer y actualizar la directiva de estrategia de combinación.
Creación de una directiva de estrategia de combinación
Bloquee si no se cumple la directiva. Valores aceptados: false , true . Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
enabled
Habilite la directiva. Valores aceptados: false , true . Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
allow-no-fast-forward
Combinación básica sin avance rápido. Conserva el historial no lineal exactamente como ocurrió durante el desarrollo. Valores aceptados: false , true .
allow-rebase
Rebase y avance rápido. Crea un historial lineal reproduciendo las confirmaciones de la rama de origen en el destino sin una confirmación de combinación. Valores aceptados: false , true .
allow-rebase-merge
Volver a base con confirmación de combinación. Crea un historial semi lineal reproduciendo las confirmaciones de la rama de origen en el destino y, a continuación, creando una confirmación de combinación. Valores aceptados: false , true .
allow-squash
Combinación de squash. Crea un historial lineal mediante la condensación de las confirmaciones de la rama de origen en una única confirmación nueva en la rama de destino. Valores aceptados: false , true .
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es prefix , la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo del argumento --branch . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
use-squash-merge
Combinación de squash siempre. Esta opción no está disponible para otros tipos de combinación. Valores aceptados: false , true .
Nota: está en desuso y se quitará en una versión futura. En su lugar, use --allow-squash.
Ejemplo
En el ejemplo siguiente se establece una estrategia de combinación necesaria para las solicitudes de extracción en la rama del repositorio de Fabrikam para main permitir la combinación de squash. En este ejemplo se usa la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
az repos policy merge-strategy create --allow-squash true --blocking true --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------------ ------------- ------------ ------------------------------------ ---------------
29 Require a merge strategy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Actualización de una directiva de estrategia de combinación
Combinación básica sin avance rápido. Conserva el historial no lineal exactamente como ocurrió durante el desarrollo. Valores aceptados: false , true .
allow-rebase
Rebase y avance rápido. Crea un historial lineal reproduciendo las confirmaciones de la rama de origen en el destino sin una confirmación de combinación. Valores aceptados: false , true .
allow-rebase-merge
Volver a base con confirmación de combinación. Crea un historial semi lineal reproduciendo las confirmaciones de la rama de origen en el destino y, a continuación, creando una confirmación de combinación. Valores aceptados: false , true .
allow-squash
Combinación de squash. Crea un historial lineal mediante la condensación de las confirmaciones de la rama de origen en una única confirmación nueva en la rama de destino. Valores aceptados: false , true .
blocking
Bloquee si no se cumple la directiva. Valores aceptados: false , true .
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es prefix , la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo del argumento --branch . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
enabled
Habilite la directiva. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
use-squash-merge
Si se debe combinar siempre la mezcla de squash. Esta opción no funciona para otros tipos de combinación. Valores aceptados: false , true .
Aplicación de una estrategia de combinación
Mantenga un historial de ramas coherente mediante la aplicación de una estrategia de combinación cuando se complete una solicitud de extracción.
Seleccione Aplicar una estrategia de combinación y elija una opción para requerir que las solicitudes de extracción se combinen con esa estrategia.
Sin combinación de avance rápido: esta opción combina el historial de confirmaciones de la rama de origen cuando se cierra la solicitud de extracción y crea una confirmación de combinación en la rama de destino.
Combinación de squash: complete todas las solicitudes de extracción con una combinación de squash, creando una sola confirmación en la rama de destino con los cambios de la rama de origen. Obtenga más información sobre la combinación de squash y cómo afecta al historial de ramas.
Validación de compilación
Puede establecer una directiva que requiera cambios en la PR para compilarse correctamente antes de que se pueda completar la PR.
Las directivas de compilación reducen los saltos y mantienen los resultados de las pruebas. Las directivas de compilación ayudan incluso si usa la integración continua (CI) en las ramas de desarrollo para detectar problemas pronto.
Una directiva de validación de compilación pone en cola una nueva compilación cuando se crea una nueva solicitud de inserción o se insertan cambios en una solicitud de inserción existente que tiene como destino la rama. La directiva de compilación evalúa los resultados de la compilación para determinar si se puede completar la solicitud de cambio.
Importante
Antes de especificar una directiva de validación de compilación, debe tener una canalización de compilación. Si no tiene una canalización, consulte Creación de una canalización de compilación. Elija el tipo de compilación que coincida con el tipo de proyecto.
En Desencadenador,seleccione Automático (siempre que se actualice la rama de origen) o Manual.
En Requisito de directiva,seleccione Obligatorio u Opcional. Si elige Requerido,las compilaciones deben completarse correctamente para completar las PR. Elija Opcional para proporcionar una notificación del error de compilación, pero permitir que se completen las PR.
Establezca una expiración de compilación para asegurarse de que las actualizaciones de la rama protegida no interrumpirán los cambios de los archivos PR abiertos.
Inmediatamente cuando se actualiza el nombre de la > rama:esta opción establece el estado de la directiva de compilación de solicitudes de registro en error cada vez que se actualiza la rama y vuelve a poner en cola una compilación. > Esta configuración garantiza que los cambios de la PR se compilen correctamente incluso si cambia la rama protegida.
Esta opción es mejor para los equipos cuyas ramas importantes tienen pocos cambios. Teams trabajar en ramas de desarrollo ocupadas puede resultar perjudicial esperar una compilación cada vez que se actualiza la rama.
Después de n > horas <>si se ha actualizado el nombre de la rama: esta opción expira el estado de la directiva actual cuando la rama protegida se actualiza si la compilación que pasa es anterior al umbral especificado. Esta opción es un riesgo entre requerir siempre o nunca una compilación cuando se actualiza la rama protegida. Esta opción reduce el número de compilaciones cuando la rama protegida tiene actualizaciones frecuentes.
Nunca:las actualizaciones de la rama protegida no cambian el estado de la directiva. Este valor reduce el número de compilaciones, pero puede causar problemas al completar las PR que no se han actualizado recientemente.
Escriba un nombre para mostrar opcional para esta directiva de compilación. Este nombre identifica la directiva en la página Directivas de rama. Si no especifica un nombre para mostrar, la directiva usa el nombre de la canalización de compilación.
Seleccione Guardar.
Cuando el propietario de la pr. inserta los cambios que se compilan correctamente, el estado de la directiva se actualiza.
Si tiene una directiva de compilación Inmediatamente cuando se actualiza el nombre de rama o Después de > horas si el nombre de la rama se ha actualizado, el estado de la directiva se actualiza cuando se actualiza la rama protegida, si la compilación anterior ya no es válida. >
Puede usar la cli Azure DevOps az repos policy build para establecer y actualizar la directiva de validación de compilación.
Creación de una directiva de validación de compilación
Bloquee si no se cumple la directiva. Valores aceptados: false , true . Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
build-definition-id
Identificador de definición de compilación. Requerido.
display-name
Nombre para mostrar de esta directiva de compilación para identificar la directiva. Por ejemplo: Manual queue policy. Requerido.
enabled
Habilite la directiva. Valores aceptados: false , true . Requerido.
manual-queue-only
Si se permite solo la cola manual de compilaciones. Valores aceptados: false , true . Requerido.
queue-on-source-update-only
Si se deben poner en cola las compilaciones solo cuando se actualiza el origen. Valores aceptados: false , true . Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
valid-duration
Duración de validez de la directiva, en minutos. Nota: debe estar entre cero y un año y debe ser cero cuando --queue-on-source-update-only es false . Requerido.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es prefix , la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo del argumento --branch . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
path-filter
Se aplican las rutas de acceso en las que se va a aplicar la directiva. Admite rutas de acceso absolutas, caracteres comodín y varias rutas de acceso separadas por ; . Ejemplos: /WebApp/Models/Data.cs , /WebApp/* o *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se establece una directiva de compilación necesaria para las solicitudes de extracción main en la rama del repositorio de Fabrikam. La directiva requiere una compilación correcta del identificador de definición de 1 compilación y solo permite la creación manual de colas. En este ejemplo se usa la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
az repos policy build create --blocking true --branch main --build-definition-id 1 --display-name build-policy --enabled true --manual-queue-only true --queue-on-source-update-only false --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --valid-duration 0 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------ ------------- ------------ ------------------------------------ ---------------
31 build-policy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Actualización de una directiva de validación de compilación
Bloquee si no se cumple la directiva. Valores aceptados: false , true .
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es prefix , la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo del argumento --branch . Valores aceptados: exact , prefix . Valor predeterminado: exact.
build-definition-id
Identificador de definición de compilación.
detect
Detecte automáticamente la organización. Valores aceptados: false , true .
display-name
Nombre para mostrar de esta directiva de compilación para identificar la directiva. Por ejemplo: Manual queue policy.
enabled
Habilite la directiva. Valores aceptados: false , true .
manual-queue-only
Si se permite solo la cola manual de compilaciones. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
path-filter
Se aplican las rutas de acceso en las que se va a aplicar la directiva. Admite rutas de acceso absolutas, caracteres comodín y varias rutas de acceso separadas por ; . Ejemplos: /WebApp/Models/Data.cs , /WebApp/* o *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
queue-on-source-update-only
Si se deben poner en cola las compilaciones solo cuando se actualiza el origen. Valores aceptados: false , true .
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
valid-duration
Duración de validez de la directiva, en minutos.
Establezca una directiva que requiera cambios en una solicitud de extracción para compilar correctamente con la rama protegida antes de que se pueda completar la solicitud de extracción.
Las directivas de compilación reducen los saltos y mantienen los resultados de las pruebas. Las directivas de compilación ayudan incluso si usa la integración continua (CI) en las ramas de desarrollo para detectar problemas pronto.
Si se habilita una directiva de validación de compilación, se pone en cola una nueva compilación cuando se crea una nueva solicitud de extracción o si se insertan cambios en una solicitud de extracción existente destinada a la rama. A continuación, la directiva de compilación evalúa los resultados de la compilación para determinar si se puede completar la solicitud de extracción.
Importante
Antes de especificar una directiva de validación de compilación, debe tener una definición de compilación. Si no tiene ninguna, consulte Creación de una definición de compilación y elija el tipo de compilación que coincida con el tipo de proyecto.
Elija Agregar directiva de compilación y configure las opciones en Agregar directiva de compilación.
Seleccione la definición de compilación.
Elija el tipo de Desencadenador. Seleccione Automático (siempre que se actualice la rama de origen) o Manual.
Seleccione el requisito de directiva. Si elige Requerido,las compilaciones deben completarse correctamente para completar las solicitudes de extracción. Elija Opcional para proporcionar una notificación del error de compilación, pero permitir que se completen las solicitudes de extracción.
Establezca una expiración de compilación para asegurarse de que las actualizaciones de la rama protegida no interrumpirán los cambios de las solicitudes de extracción abiertas.
Inmediatamente cuando se actualiza: esta opción establece el estado de la directiva de compilación en una solicitud de extracción en error cuando se actualiza la rama protegida. Vuelva a poner en cola una compilación para actualizar el estado de compilación. Esta configuración garantiza que los cambios en las solicitudes de extracción se compilen correctamente incluso a medida que cambia la rama protegida. Esta opción es mejor para los equipos que tienen ramas importantes con un menor volumen de cambios. Teams trabajar en ramas de desarrollo ocupadas puede resultar perjudicial esperar a que se complete una compilación cada vez que se actualice la rama protegida.
Después de horas si se branch name haactualizado : esta opción expira el estado actual de la directiva cuando la rama protegida se actualiza si la compilación que pasa es anterior al umbral especificado. Esta opción es un riesgo entre exigir siempre una compilación cuando la rama protegida se actualiza y nunca requiere una. Esta opción es excelente para reducir el número de compilaciones cuando la rama protegida tiene actualizaciones frecuentes.
Nunca:las actualizaciones de la rama protegida no cambian el estado de la directiva. Este valor reduce el número de compilaciones de la rama. Puede causar problemas al cerrar las solicitudes de extracción que no se han actualizado recientemente.
Escriba un nombre para mostrar opcional para esta directiva de compilación. Este nombre identifica la directiva en la página Directivas de rama. Si no especifica un nombre para mostrar, la directiva usa el nombre de definición de compilación.
Seleccione Guardar.
Cuando el propietario inserta los cambios que se compilan correctamente, se actualiza el estado de la directiva. Si tiene una directiva de compilación Inmediatamente cuando se actualiza o Después de las horas si se ha actualizado, el estado de la directiva se actualiza cuando se actualiza la rama protegida si la compilación más reciente ya no es válida. branch name
Comprobaciones de estado
Los servicios externos pueden usar la API de estado de solicitud de acceso para publicar el estado detallado en las solicitudes de solicitud de acceso. La directiva de rama para servicios adicionales permite que esos servicios de terceros participen en el flujo de trabajo de la pr. y establezcan los requisitos de directiva.
Los servicios externos pueden usar la API de estado de solicitud de acceso para publicar el estado detallado en las solicitudes de solicitud de acceso. La directiva de rama para servicios adicionales ofrece la posibilidad de que esos servicios de terceros participen en el flujo de trabajo de la pr. y establezcan los requisitos de directiva.
Puede agregar automáticamente revisores a solicitudes de extracción que cambien archivos en directorios y archivos específicos, o a todas las solicitudes de extracción de un repositorio.
Rellene la pantalla Agregar nueva directiva de revisor.
Agregue personas y grupos a revisores.
Seleccione Opcional si desea agregar revisores automáticamente, pero no requiere su aprobación para completar la solicitud de extracción.
O bien, seleccione Requerido si las solicitudes de extracción no se pueden completar hasta:
Cada persona agregada como revisor aprueba los cambios.
Al menos una persona de cada grupo agregado como revisor aprueba los cambios.
Si solo se requiere un grupo, el número mínimo de miembros que especifique aprobará los cambios.
Especifique los archivos y carpetas que requieren los revisores incluidos automáticamente. Deje este campo en blanco para requerir a los revisores todas las solicitudes de extracción de la rama.
Seleccione Permitir que los solicitantes aprueben sus propios cambios si los propietarios de solicitudes de extracción pueden votar para aprobar sus propias solicitudes de extracción para satisfacer esta directiva.
Puede especificar un mensaje de fuente de actividad que aparece en la solicitud de extracción.
Bloquee si no se cumple la directiva. Valores aceptados: false , true . Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
enabled
Habilite la directiva. Valores aceptados: false , true . Requerido.
message
Mensaje de fuente de actividad que aparece en la solicitud de extracción. Obligatorio.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
required-reviewer-ids
Direcciones de correo electrónico del revisor separadas por ; . Por ejemplo: john@contoso.com;alice@contoso.com.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es , la directiva se aplica a prefix todas las carpetas de rama que coinciden con el prefijo del --branch argumento . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detectar automáticamente la organización. Valores aceptados: false , true .
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
path-filter
Se aplican las rutas de acceso en las que se va a aplicar la directiva. Admite rutas de acceso absolutas, caracteres comodín y varias rutas de acceso separadas por ; . Ejemplos: /WebApp/Models/Data.cs/WebApp/* , o *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se establece Jamal Svnett como revisor necesario para las solicitudes de extracción en la main rama del repositorio de Fabrikam. En este ejemplo se usa la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
az repos policy required-reviewer create --blocking true --branch main --enabled true --message "Please review." --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --required-reviewer-ids fabrikamfiber4@hotmail.com --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------ ------------- ------------ ------------------------------------ ---------------
35 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Actualización de una directiva de revisor necesaria
Bloquee si no se cumple la directiva. Valores aceptados: false , true .
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact , la directiva se aplica en una rama que coincide exactamente con el argumento --branch . Si el valor es , la directiva se aplica a prefix todas las carpetas de rama que coinciden con el prefijo del --branch argumento . Valores aceptados: exact , prefix . Valor predeterminado: exact.
detect
Detectar automáticamente la organización. Valores aceptados: false , true .
enabled
Habilite la directiva. Valores aceptados: false , true .
message
Mensaje de fuente de actividad que aparece en la solicitud de extracción.
org
Azure DevOps url de la organización. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git. Ejemplo: .
path-filter
Se aplican las rutas de acceso en las que se va a aplicar la directiva. Admite rutas de acceso absolutas, caracteres comodín y varias rutas de acceso separadas por ; . Ejemplos: /WebApp/Models/Data.cs/WebApp/* , o *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs .
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID> . Obligatorio si no está configurado como predeterminado o se selecciona a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
required-reviewer-ids
Direcciones de correo electrónico del revisor separadas por ; . Por ejemplo: john@contoso.com;alice@contoso.com.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Seleccione revisores para directorios y archivos específicos en el repositorio.
Estos revisores se agregan automáticamente a las solicitudes de extracción que cambian los archivos a lo largo de esas rutas de acceso. También puede especificar un mensaje de fuente de actividad.
Si selecciona Requerido,la solicitud de extracción no se puede completar hasta que:
Todos los usuarios agregados como revisores de la ruta de acceso aprueban los cambios.
Al menos una persona de cada grupo agregado a la ruta de acceso aprueba los cambios.
El número de revisores especificado para cada grupo agregado a la ruta de acceso aprueba los cambios.
Seleccione Opcional si desea agregar revisores automáticamente, pero no requiere su aprobación para completar la solicitud de extracción.
Puede seleccionar Los solicitantes pueden aprobar sus propios cambios.
Cuando todos los revisores necesarios aprueben el código, puede completar la solicitud de extracción.
Omitir directivas de rama
En algunos casos, es posible que tenga que omitir los requisitos de la directiva. Los permisos de omisión permiten insertar cambios en una rama directamente o completar solicitudes de extracción que no satisfacen las directivas de rama. Puede conceder permisos de omisión a un usuario o grupo. Puede establecer el ámbito de permisos de omisión para todo un proyecto, un repositorio o una sola rama.
Dos permisos permiten a los usuarios omitir la directiva de rama de maneras diferentes:
Las directivas de omisión al completar las solicitudes de extracción solo se aplican a la finalización de la solicitud de extracción. Los usuarios con este permiso pueden completar las solicitudes de extracción incluso si las solicitudes de extracción no satisfacen las directivas.
Las directivas de omisión al insertar se aplican a las inserciones de repositorios locales y a las ediciones realizadas en la Web. Los usuarios con este permiso pueden insertar cambios directamente en ramas protegidas sin cumplir los requisitos de la directiva.
Para más información sobre cómo administrar estos permisos, consulte Permisos de Git.
En TFS 2015 hasta TFS 2018 Update 2, el permiso Exento del cumplimiento de directivas permite a los usuarios con este permiso realizar las siguientes acciones:
Al completar una solicitud de extracción, puede optar por invalidar las directivas y completar una solicitud de extracción incluso si no se cumple el conjunto actual de directivas de rama.
Insertar directamente en una rama incluso si esa rama tiene establecidas directivas de rama. Tenga en cuenta que cuando un usuario con este permiso realiza una inserción que invalidaría la directiva de rama, la inserción omite automáticamente la directiva de rama sin ningún paso o advertencia de suscripción.
Importante
Tenga cuidado al conceder la capacidad de omitir directivas, especialmente en los niveles de repositorio y proyecto. Las directivas son una piedra angular de la administración segura y compatible del código fuente.
Filtros de ruta de acceso
Varias directivas de rama ofrecen filtros de ruta de acceso. Si se establece un filtro de ruta de acceso, la directiva solo se aplica a los archivos que coinciden con el filtro de ruta de acceso. Dejar este campo en blanco significa que la directiva se aplica a todos los archivos de la rama.
Puede especificar rutas de acceso absolutas y caracteres comodín.
Ejemplos:
/WebApp/Models/Data.cs
/WebApp/*
*.cs
Puede especificar varias rutas de acceso ; mediante como separador.
Ejemplo:
/WebApp/Models/Data.cs;ClientApp/Models/Data.cs
Las rutas de ! acceso con prefijo se excluyen si, de lo contrario, se incluirían.
Ejemplo:
/WebApp/*;!/WebApp/Tests/* incluye todos los archivos de /WebApp excepto los archivos de /WebApp/Tests
!/WebApp/Tests/* no especifica ningún archivo, ya que no se incluye nada primero
El orden de los filtros es significativo. Los filtros se aplican de izquierda a derecha.
¿Puedo insertar cambios directamente en las ramas que tienen directivas de rama?
No se pueden insertar cambios directamente en ramas que tengan directivas de rama necesarias a menos que tenga permisos para omitir las directivas de rama. Los cambios en estas ramas solo se pueden realizar a través de solicitudes de extracción. Puede insertar cambios directamente en ramas que tengan directivas de rama opcionales, si no tienen directivas de rama necesarias.
¿Qué es autocompletar?
Las solicitudes de extracción en ramas con directivas de rama configuradas tienen el botón Establecer autocompletar. Seleccione esta opción para completar automáticamente la solicitud de extracción una vez que cumpla todas las directivas. La función autocompletar es útil cuando no se espera ningún problema con los cambios.
¿Cuándo se comprueban las condiciones de la directiva de rama?
Las directivas de rama se reevaluan en el servidor cuando los propietarios de solicitudes de extracción insertan cambios y cuando los revisores votan. Si una directiva desencadena una compilación, el estado de compilación establece en esperando hasta que se complete la compilación.
¿Puedo usar definiciones de compilación XAML en directivas de rama?
No, no se pueden usar definiciones de compilación XAML en las directivas de rama.
¿Qué caracteres comodín puedo usar para los revisores de código necesarios?
Los asteriscos únicos coinciden con cualquier número de caracteres, incluidas las barras diagonales y las */ barras \ diagonales. Los signos ? de interrogación coinciden con cualquier carácter individual.
Ejemplos:
*.sqlcoincide con todos los archivos con *.sql
/ConsoleApplication/*coincide con todos los archivos de la carpeta /ConsoleApplication/*
/.gitattributes coincide con /.gitattributes de la raíz del repositorio.
*/.gitignore coincide con */.gitignore del repositorio.
¿Distinguen mayúsculas de minúsculas las rutas de acceso del revisor de código necesarias?
No, las directivas de rama no distinguen mayúsculas de minúsculas.
¿Cómo puedo configurar varios usuarios como revisores necesarios, pero requerir que solo uno de ellos los apruebe?
Puede agregar los usuarios a un grupo y, acontinuación, agregar el grupo como revisor. Cualquier miembro del grupo puede aprobar para cumplir el requisito de directiva.
Tengo permisos de directiva de omisión. ¿Por qué todavía veo errores de directiva en el estado de la solicitud de extracción?
Las directivas configuradas siempre se evalúan para los cambios de la solicitud de extracción. Para los usuarios que tienen permisos de directiva de omisión, el estado de la directiva notificado es solo de aviso. Si el usuario con permisos de omisión aprueba, el estado de error no bloquea la finalización de la solicitud de extracción.
¿Por qué no puedo completar mis propias solicitudes de extracción cuando se establece "Permitir que los solicitantes aprueben sus propios cambios"?
Tanto la directiva Requerir un número mínimo de revisores como la directiva Revisores incluidos automáticamente tienen opciones para Permitir a los solicitantes aprobar sus propios cambios. En cada directiva, la configuración solo se aplica a esa directiva. La configuración no afecta a la otra directiva.
Por ejemplo, la solicitud de extracción tiene las siguientes directivas establecidas:
Requerir un número mínimo de revisores requiere al menos un revisor.
Los revisores incluidos automáticamente requieren usted o un equipo en el que se encuentra como revisor.
Los revisores incluidos automáticamente tienen habilitado Permitir a los solicitantes aprobar sus propios cambios.
Requerir un número mínimo de revisores no tiene habilitado Permitir a los solicitantes aprobar sus propios cambios.
En este caso, la aprobaciónsatisface los revisores incluidosautomáticamente, pero no requiere un número mínimo de revisores, por lo que no puede completar la solicitud de extracción.
También puede haber otras directivas, como Prohibir que el pushermás reciente apruebe sus propios cambios, que le impida aprobar sus propios cambios incluso si se establece Permitir a los solicitantes aprobar sus propios cambios.