Establecer configuración y directivas del repositorio de Git
Artículo
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Hay varias maneras de personalizar los repositorios de Git de Azure Repos mediante el uso de configuraciones y directivas de rama y repositorio. En este artículo se describen configuraciones y directivas de nivel de repositorio.
Las configuraciones y directivas del repositorio establecen opciones globales para todos los repositorios de Git de un proyecto u organización, o bien para repositorios individuales.
En este artículo se describen configuraciones y directivas del repositorio del lado servidor. Para obtener información sobre las preferencias de Git del lado cliente, consulte Preferencias y configuraciones de Git en Visual Studio.
Las directivas de rama abarcan controles específicos de la rama.
Las directivas de rama incluyen opciones como requerir una PR, una compilación correcta o una revisión del código antes de que los cambios se puedan fusionar mediante combinación en una rama. Para obtener más información, consulte Directivas y configuraciones de rama.
Los permisos de seguridad de repositorio y rama controlan las asignaciones de usuarios.
Estos permisos controlan quién puede leer, escribir, contribuir a las PR y realizar otras acciones específicas. Para obtener más información, consulte Establecimiento de permisos para un repositorio.
Resumen de todas las configuraciones y directivas de repositorio y rama
Puede establecer configuraciones y directivas para todos los repositorios de un proyecto, para repositorios individuales y para ramas de repositorios. Configurará todas estas opciones y directivas en el explorador a través deConfiguración del proyecto>Repositorios.
Nota
Puede establecer varias configuraciones y directivas de rama con la CLI de Azure mediante az repos policy.
En las tablas siguientes se resumen las configuraciones y directivas que puede habilitar y configurar para repositorios y ramas de Git.
Configuraciones de todos los repositorios
En la tabla siguiente se resumen las configuraciones que puede habilitar y establecer para todos los repositorios de Git nuevos de un proyecto o una organización.
Inicialice los repositorios nuevos con el nombre de rama predeterminado que especifique. Puede cambiar la rama predeterminada de un repositorio concreto en cualquier momento. Si no habilita esta característica, los repositorios se inicializan con una rama predeterminada denominada main.
Permite menciones en comentarios de confirmación para cerrar los elementos de trabajo. Requiere la actualización 2020.1 de Azure DevOps Server o una versión posterior.
Especifica hasta cinco ramas más para participar en la búsqueda de código, que de forma predeterminada solo se aplica a la rama predeterminada. Requiere que la extensión de Code Search esté instalada y habilitada.
Directivas u opciones del repositorio
En la tabla siguiente se resumen las directivas u opciones que se pueden establecer para todos los repositorios o para repositorios individuales. Las directivas establecidas para Todos los repositorios establecen el valor predeterminado para los repositorios individuales que se agreguen en una fecha posterior.
Bloquea el envío de cambios con un correo electrónico del autor de la confirmación que no coincida con los patrones especificados. Esta configuración requiere Azure DevOps Server 2020.1 o una versión posterior.
Impide que los envíos de cambios introduzcan rutas de acceso de archivo que coincidan con los patrones especificados. Esta configuración requiere Azure DevOps Server 2020.1 o una versión posterior.
Evita los conflictos de distinción de mayúsculas y minúsculas y bloquea los envíos de cambios que las cambian en el nombre de archivos, carpetas, ramas y etiquetas.
Bloquea los envíos de cambios que introducen nombres de archivos, carpetas o ramas que incluyen nombres reservados para la plataforma o caracteres no compatibles.
Bloquea los envíos de cambios que contienen archivos nuevos o actualizados superiores al límite seleccionado.
Directivas de rama
En la tabla siguiente se resumen las directivas que se pueden definir para personalizar una rama. Para obtener más información sobre cómo configurar estas opciones, consulte Mejora de la calidad del código con directivas de rama. Al establecer cualquier directiva en una rama, se aplican automáticamente las directivas siguientes:
Se requieren PR para actualizar la rama.
No se puede eliminar la rama.
Nota
Las directivas de rama se aplican a las solicitudes de incorporación de cambios en función de la rama de destino de la solicitud de incorporación de cambios. Las directivas de rama no deben establecerse en ramas temporales que se eliminarán después de una solicitud de incorporación de cambios. La adición de directivas de rama a ramas temporales provocará un error en la eliminación automática de la rama.
Agrega, habilita o deshabilita una o varias directivas para validar el código mediante la fusión mediante combinación previa y la creación de cambios en la PR.
Agrega, habilita o deshabilita una o varias directivas para designar a los revisores de código que se incluirán automáticamente cuando las PR cambien determinadas áreas del código.
Prerrequisitos
Para configurar las directivas, hay que ser miembro del grupo de seguridad Administradores del proyecto o tener permisos de tipo Editar directivas de nivel de repositorio. Para obtener más información, consulte Establecimiento de permisos de repositorios Git.
Para configurar las directivas, hay que ser miembro del grupo de seguridad Administradores del proyecto o tener permisos de tipo Editar directivas de nivel de repositorio. Para obtener más información, consulte Establecimiento de permisos de repositorios Git.
Visualización y edición de las configuraciones y directivas
Puede establecer configuraciones para todos los repositorios de una organización o proyecto, o bien para repositorios individuales. Puede configurar directivas para todos los repositorios, para repositorios individuales o para ramas específicas de repositorios. Para obtener información sobre cómo establecer directivas de rama, consulte Directivas de rama.
Nota
Es mejor establecer las configuraciones del repositorio en el nivel de proyecto o en repositorios individuales, pero no en ambos. Si establece las configuraciones en más de un nivel, el sistema respeta la configuración más restrictiva. El establecimiento de las configuraciones en un solo nivel reduce la confusión y los problemas de rendimiento de Git.
Para establecer las configuraciones y directivas del repositorio a través del portal web, abra Configuración del proyecto>Repositorios en el explorador web.
Para ver o modificar las configuraciones o directivas de todos los repositorios de Git, abra la página Todos los repositorios y seleccione Configuración o Directivas.
Para establecer las configuraciones y directivas de un repositorio específico, seleccione la pestaña Repositorios , elija el repositorio y seleccione la pestaña Configuración o Directivas.
En la captura de pantalla siguiente se muestra la pestaña Configuración seleccionada. Puede definir estas configuraciones para todos los repositorios de Git o para un repositorio individual.
En la captura de pantalla siguiente se muestra la pestaña Directivas seleccionada. Puede definir estas directivas para todos los repositorios de Git o para un repositorio individual.
En el explorador web, abra el proyecto, seleccione Configuración del proyecto, Repositorios y elija el repositorio.
Para ver y configurar las configuraciones del repositorio, seleccione Opciones o Directivas.
En la captura de pantalla siguiente se muestran las opciones de todos los repositorios:
En la captura de pantalla siguiente se muestran las opciones de los repositorios de Fabrikam:
Puede usar la CLI de Azure DevOps para enumerar los repositorios o para mostrar o actualizar un repositorio. Además, puede enumerar, mostrar o actualizar los detalles de la directiva de una rama o repositorio.
Puede usar la CLI de Azure para enumerar, mostrar y actualizar las directivas de una rama o repositorio, o bien de todos los repositorios de un proyecto.
Lista de repositorios
Use az repos list para enumerar todos los repositorios de un proyecto.
az repos list [--detect {false, true}]
[--org]
[--project]
[--subscription]
Parámetros
Parámetro
Descripción
detect
Detecta automáticamente la organización. Valores aceptados: false y true.
org, organization
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante 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
El siguiente comando devuelve todos los repositorios de Git para la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos list --output table
ID Name Default Branch Project
------------------------------------ -------------- ---------------- --------------
50a9df8e-5024-49d7-bf63-d3989139627e Fabrikam Fiber main Fabrikam Fiber
ac228555-ea89-4881-9ace-dfa065baf7d3 Test 1-2-3 main Fabrikam Fiber
0d58f562-4a10-495d-94d7-7ac61a22d7cc Testing 1 2 3 main Fabrikam Fiber
30954ce5-417b-4930-b8d2-8b6cac934a34 contosoREPO main Fabrikam Fiber
Enumeración de detalles del repositorio
Use az repos show para mostrar información sobre un repositorio o abrirla en un explorador web.
az repos show --repository
[--detect {false, true}]
[--open]
[--org]
[--project]
[--subscription]
Parámetros
Parámetro
Description
repository
Nombre o identificador de un repositorio.
detect
Detecta automáticamente la organización. Valores aceptados: false, true.
open
Abre la página del repositorio en el explorador web.
org, organization
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante 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
El siguiente comando enumera los detalles de contosoREPO para la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos show --repository contosoREPO --output table
ID Name Default Branch Project
------------------------------------ ----------- ---------------- --------------
30954ce5-417b-4930-b8d2-8b6cac934a34 contosoREPO main Fabrikam Fiber
Para obtener más información, escriba el comando siguiente:
az repos show --repository contosoREPO
{
"defaultBranch": "refs/heads/main",
"id": "30954ce5-417b-4930-b8d2-8b6cac934a34",
"isDisabled": false,
"isFork": null,
"name": "contosoREPO",
"parentRepository": null,
"project": {
"abbreviation": null,
"defaultTeamImageUrl": null,
"description": "Guidance and source control to foster a vibrant ecosystem for Fabrikam Fiber applications and extensions.",
"id": "56af920d-393b-4236-9a07-24439ccaa85c",
"lastUpdateTime": "2021-05-24T21:52:14.95Z",
"name": "Fabrikam Fiber",
"revision": 438023732,
"state": "wellFormed",
"url": "https://dev.azure.com/fabrikamprime/_apis/projects/56af920d-393b-4236-9a07-24439ccaa85c",
"visibility": "private"
},
"remoteUrl": "https://fabrikamprime@dev.azure.com/fabrikamprime/Fabrikam%20Fiber/_git/contosoREPO",
"size": 1627,
"sshUrl": "git@ssh.dev.azure.com:v3/fabrikamprime/Fabrikam%20Fiber/contosoREPO",
"url": "https://dev.azure.com/fabrikamprime/56af920d-393b-4236-9a07-24439ccaa85c/_apis/git/repositories/30954ce5-417b-4930-b8d2-8b6cac934a34",
"validRemoteUrls": null,
"webUrl": "https://dev.azure.com/fabrikamprime/Fabrikam%20Fiber/_git/contosoREPO"
}
Actualizar un repositorio
Puede usar az repos update para actualizar la rama predeterminada o cambiar el nombre de un repositorio.
az repos show --repository
[--default-branch]
[--detect {false, true}]
[--name]
[--org]
[--project]
[--subscription]
Parámetros
Parámetro
Description
repository
Nombre o identificador de un repositorio.
default-branch
Especifique la rama predeterminada que se va a establecer para el repositorio. Ejemplo: "refs/heads/live" o "live".
detect
Detecta automáticamente la organización. Valores aceptados: false, true.
name
Nuevo nombre del repositorio.
org, organization
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante 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
El siguiente comando cambia el nombre de contosoREPO a contosoFabrikam en la configuración predeterminada az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos show --repository contosoREPO --output table
ID Name Default Branch Project
------------------------------------ ----------- ---------------- --------------
30954ce5-417b-4930-b8d2-8b6cac934a34 contosoREPO main Fabrikam Fiber
Para obtener más información, escriba el comando siguiente:
Use az repos policy list para enumerar todas las directivas de todos los repositorios y ramas del proyecto. Use los parámetros repository-id y branch para enumerar las directivas de repositorios y ramas específicos.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parámetros
Parámetro
Description
branch
Nombre de rama por la que filtrar los resultados mediante coincidencia exacta. El parámetro --repository-id es obligatorio para usar el filtro de rama. Por ejemplo: --branch main.
detect
Detecta automáticamente la organización. Valores aceptados: false y true.
org, organization
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git.
query-examples
Cadena de JMESPath recomendada. Puede copiar una de las consultas y pegarla después del parámetro --query entre 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 por el que se van a filtrar los resultados mediante 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 siguiente comando devuelve todas las directivas en vigor en el proyecto predeterminado. 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 list --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------------
1 Git repository settings True True d28cd374-e7f0-4b1f-ad60-f349f155d47c All Branches
3 Work item linking True 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
7 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/big-branch
8 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/big-branch
9 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/new
10 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/new
11 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/new
12 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
13 Required reviewers False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Visualización de detalles de la directiva
Use az repos policy show para mostrar los detalles de cualquier directiva. Para obtener el identificador de directiva, ejecute az repos policy list.
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
Detecta automáticamente la organización. Valores aceptados: false y true.
org, organization
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git.
query-examples
Cadena de JMESPath recomendada. Puede copiar una de las consultas y pegarla después del parámetro --query entre 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>.
Ejemplo
En el ejemplo siguiente se muestran el nombre y los detalles del identificador de directiva 1 en el proyecto predeterminado. 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 show --id 1 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------------- ------------- ------------ ------------------------------------ ------------
1 Git repository settings True True d28cd374-e7f0-4b1f-ad60-f349f155d47c All Branches
Ruta de acceso del archivo local para el archivo de configuración de directiva. Use una barra diagonal inversa ("\") al escribir la ruta de acceso del directorio. Requerido.
id, policy-id
Identificador de la directiva que se actualizará. Obligatorio.
detect
Detecta automáticamente la organización. Valores aceptados: false y true.
org, organization
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante 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
El siguiente archivo policy.json establece la directiva de revisores mínimos de modo que se requieran tres aprobaciones en todas las ramas main de todos los repositorios del proyecto predeterminado.
La línea de comandos az repos policy update actualiza la directiva de revisores mínimos según el archivo policy.json. Para encontrar el identificador de directiva, use az repos policy list. 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 update --config C:\policies\policy.json --id 7 --output table
ID Name Is Blocking Is Enabled Branch
---- --------------------------- ------------- ------------ -----------------
7 Minimum number of reviewers False True refs/heads/main
Los comandos de la CLI de Azure DevOps no son compatibles con Azure DevOps Server.
Nombre de rama predeterminado
Puede establecer un nombre de rama de repositorio predeterminado en el nivel de organización o proyecto. La configuración de nivel de organización surte efecto para todos los repositorios nuevos de todos los proyectos de la organización. La configuración de nivel de proyecto afecta a todos los repositorios nuevos de un proyecto y reemplaza cualquier nombre establecido en el nivel de organización.
Puede:
Elegir cualquier nombre de rama legal para usarlo cuando se inicialice un repositorio.
Cambiar el nombre predeterminado en cualquier momento para que afecte a todos los repositorios futuros.
Cambiar el nombre de rama predeterminado de un repositorio concreto en cualquier momento.
Si no habilita la característica de nombre de rama predeterminado, los repositorios se inicializan con el nombre de rama predeterminado de Azure Repos main.
Para establecer un nombre de rama predeterminado en el nivel de organización:
En la página de la organización de Azure DevOps, seleccione Configuración de la organización en la parte inferior izquierda y, después, Repositorios en el panel de navegación de la izquierda.
En la página Todos los repositorios, establezca Default branch name for new repositories (Nombre de rama predeterminado de los nuevos repositorios) en Activado y escriba un nombre de rama predeterminado.
Para establecer un nombre de rama predeterminado en el nivel de proyecto:
En la página del proyecto de Azure DevOps, seleccione Configuración del proyecto en la parte inferior izquierda y, después, Repositorios en el panel de navegación de la izquierda.
En la pestaña Configuración de la página Todos los repositorios, establezca Default branch name for new repositories (Nombre de rama predeterminado de los nuevos repositorios) en Activado y escriba un nombre de rama predeterminado.
Nota
La configuración Default branch name for new repositories (Nombre de rama predeterminado de los nuevos repositorios) requiere Azure DevOps Server 2020.1 o una versión posterior.
Administración de permisos de rama
Es posible controlar quién puede administrar los permisos de las ramas del repositorio. Para ello, establezca una configuración de administración de permisos para todos los repositorios de Git o para repositorios individuales. Si habilita la opción Allow users to manage permissions for their created branches (Permitir que los usuarios administren los permisos de sus ramas creadas) en el nivel Todos los repositorios, todos los repositorios de proyectos nuevos se configuran de modo que permitan que los usuarios administren los permisos de sus ramas creadas.
Para administrar esta configuración:
En la página del proyecto de Azure DevOps, seleccione Configuración del proyecto en la parte inferior izquierda y, después, Repositorios en el panel de navegación de la izquierda.
En la pestaña Configuración de la página Todos los repositorios, establezca Allow users to manage permissions for their created branches (Permitir que los usuarios administren los permisos de sus ramas creadas) en Activado o Desactivado.
Para habilitar o deshabilitar esta configuración para repositorios individuales:
Seleccione Configuración del proyecto>Repositorios y elija un repositorio.
En la pestaña Configuración de la página <Nombre del repositorio>, establezca Permissions management (Administración de permisos) en Activado o Desactivado.
Imágenes de Gravatar
Esta configuración habilita o deshabilita el uso de imágenes de Gravatar para los usuarios de fuera de la empresa.
Imágenes de Gravatar es una configuración de nivel de organización.
En la página de la organización de Azure DevOps, seleccione Configuración de la organización en la parte inferior izquierda y, después, Repositorios en el panel de navegación de la izquierda.
En la página Todos los repositorios, establezca Imágenes de Gravatar en Activado o Desactivado.
Imágenes de Gravatar es una configuración de nivel de proyecto para Todos los repositorios.
En la página del proyecto de Azure DevOps, seleccione Configuración del proyecto en la parte inferior izquierda y, después, Repositorios en el panel de navegación de la izquierda.
En la pestaña Configuración de la página Todos los repositorios, establezca Imágenes de Gravatar en Activado o Desactivado.
Imágenes de Gravatar es una configuración de nivel de proyecto para Todos los repositorios.
En la página del proyecto de Azure DevOps, seleccione Configuración del proyecto en la parte inferior izquierda y, después, Repositorios en el panel de navegación de la izquierda.
En la pestaña Configuración de la página Todos los repositorios, establezca Imágenes de Gravatar en Activado o Desactivado.
Habilitación de bifurcaciones
Esta configuración del repositorio controla si los usuarios pueden crear bifurcaciones del lado servidor. Si se deshabilita esta configuración, no se quitan las bifurcaciones existentes.
En Configuración del proyecto, seleccione Repositorios en el panel de navegación de la izquierda.
En la pestaña Repositorios de la página Todos los repositorios, seleccione un repositorio.
En la pestaña Configuración de la página <Nombre del repositorio>, establezca Bifurcaciones en Activado o Desactivado.
Configuración de vinculación de elementos de trabajo
Esta configuración del repositorio administra la vinculación de elementos de trabajo.
Seleccione Configuración del proyecto>Repositorios y elija un repositorio.
En la pestaña Configuración de la página <Nombre del repositorio>, establezca la configuración en Activado o Desactivado.
Confirmar vinculación de mención
Cuando se habilita, los mensajes de confirmación que contienen # seguidos de un identificador de elemento de trabajo válido vinculan automáticamente la confirmación a ese elemento de trabajo. Deshabilite esta configuración si el repositorio usó previamente una cuenta o servicio diferente. Esos repositorios podrían tener mensajes de confirmación con menciones # que no coinciden con los identificadores de elemento de trabajo de la cuenta actual.
Confirmar resolución de elemento de trabajo de mención
Habilite esta configuración para finalizar automáticamente los elementos de trabajo cuando se completen las PR vinculadas. Esta configuración también permite especificar otros estados de transición de elementos de trabajo en los mensajes de confirmación de PR. Para obtener más información, consulte Automatización de la finalización de elementos de trabajo con PR.
Confirmar resolución de elemento de trabajo de mención
Preferencias de transición de elementos de trabajo
De forma predeterminada, la opción para finalizar los elementos de trabajo vinculados cuando se completa una PR recuerda la última opción de cada usuario. Los equipos que quieren impedir que los usuarios completen los elementos de trabajo con sus PR pueden deshabilitar esta configuración. A partir de entonces, los usuarios deberán optar por finalizar los elementos de trabajo cada vez que completen una PR.
Configuración del modo de voto estricto
En determinadas situaciones, los usuarios que no son colaboradores de un repositorio pueden enviar una PR y hacer que se fusione mediante combinación, según las directivas. Para impedirlo, habilite el modo de voto estricto para cambiar el permiso necesario para votar en las PR del repositorio a Colaborar. Se recomienda habilitar esta configuración si confía en bifurcaciones de usuario en Azure Repos.
Seleccione Configuración del proyecto>Repositorios y elija un repositorio.
En la pestaña Configuración de la página <Nombre del repositorio>, establezca Strict Vote Mode (Modo de voto estricto) en Activado o Desactivado.
Deshabilitar repositorio
Si se deshabilita esta configuración, se deshabilita el acceso al repositorio, incluidas las compilaciones y las PR, pero el repositorio sigue siendo detectable con una advertencia.
Seleccione Configuración del proyecto>Repositorios y elija un repositorio.
En la pestaña Configuración de la página <Nombre del repositorio>, en Disable Repository (Deshabilitar repositorio), establezca Disable Repository (Deshabilitar repositorio) en Activado o Desactivado.
Configuración de ramas que se pueden buscar
De forma predeterminada, la búsqueda de código en archivos solo se aplica a la rama predeterminada. Puede agregar hasta cinco ramas más en las búsquedas.
Importante
Para buscar código en repositorios, debe instalar la extensión Code Search de Marketplace. Si no ve Ramas incluidas en las búsquedas en la pestaña Configuración del repositorio, asegúrese de que tiene instalada la extensión.
Para agregar ramas a la búsqueda de código:
Seleccione Configuración del proyecto>Repositorios y elija un repositorio.
En la pestaña Configuración de la página <Nombre del repositorio>, seleccione el signo + en Ramas incluidas en las búsquedas.
Elija una rama para incluirla en la búsqueda y seleccione Agregar rama.
Directivas de rama entre repositorios
Puede establecer directivas en un nombre de rama específico, o en la rama predeterminada, en todos los repositorios de un proyecto. Por ejemplo, podría requerir dos revisores como mínimo para todas las PR de cada rama main de todos los repositorios de proyectos.
Para establecer directivas para proteger nombres de rama específicos o predeterminados en un proyecto:
En Configuración del proyecto, seleccione Repositorios en el panel de navegación de la izquierda.
En la página Todos los repositorios, seleccione la pestaña Directivas.
Seleccione el signo más (+) en Directivas de rama en la parte inferior de la página.
En la pantalla Agregar protección de rama, seleccione Proteger la rama predeterminada de cada repositorio o Proteger las ramas actuales y futuras que coincidan con un patrón especificado.
Si selecciona la segunda opción, escriba el nombre de la rama que quiere proteger. Un mensaje informativo le permite saber cuántas ramas actuales se ven afectadas. El nombre de la rama se puede proteger aunque la rama todavía no exista.
Seleccione Crear.
En la página Cross-Repository policies for <branch name> (Directivas entre repositorios para ), establezca las directivas que quiera para las ramas protegidas. Para obtener más información sobre las directivas de rama, consulte Directivas de rama.
Directiva Confirmar validación del correo electrónico del autor
Esta directiva bloquea las confirmaciones en un repositorio si los autores de las confirmaciones tienen direcciones de correo electrónico que no coinciden con un patrón.
Seleccione Configuración del proyecto>Repositorios y seleccione un repositorio si quiere configurar solo dicho repositorio.
En la pestaña Directivas de la página Todos los repositorios o <Nombre del repositorio>, en Repository Policies (Directivas de repositorio), establezca Confirmar validación del correo electrónico del autor en Activado o Desactivado.
Si activa la directiva, especifique las direcciones de correo electrónico que deben coincidir.
Puede especificar direcciones de correo electrónico exactas o usar caracteres comodín. Use ; como separador para varios patrones de correo electrónico. Los patrones de correo electrónico con el prefijo ! se excluyen. El orden es importante.
Directiva Validación de la ruta de acceso del archivo
Puede establecer una directiva que impida las confirmaciones en un repositorio desde rutas de acceso de archivo que coincidan con un patrón.
Seleccione Configuración del proyecto>Repositorios y seleccione un repositorio si quiere configurar solo dicho repositorio.
En la pestaña Directivas de la página Todos los repositorios o <Nombre del repositorio>, en Repository Policies (Directivas de repositorio), establezca Validación de la ruta de acceso del archivo en Activado o Desactivado.
Si activa la directiva, especifique las rutas de acceso que se deben bloquear.
Puede especificar rutas de acceso exactas y caracteres comodín. Las rutas de acceso exactas comienzan por /. También se pueden especificar varias rutas de acceso si se usa ; como separador. Las rutas de acceso con el prefijo ! se excluyen. El orden es importante.
Directiva Cumplimiento de mayúsculas y minúsculas
Git distingue mayúsculas de minúsculas, lo que significa que un archivo denominado Foo.txt es diferente de un archivo denominado foo.txt. Pero Windows y macOS tienen como valor predeterminado sistemas de archivos que no distinguen mayúsculas de minúsculas, lo que significa que Foo.txt y foo.txt son el mismo nombre. Esta discrepancia puede causar problemas si un usuario de un sistema que no distingue mayúsculas de minúsculas inserta archivos, carpetas, ramas o etiquetas que solo difieren por el uso de mayúsculas y minúsculas. Para obtener más información, consulte Compatibilidad multiplataforma de Git.
Si la mayoría de los colaboradores usan Windows o macOS, es mejor habilitar la directiva Cumplimiento de mayúsculas y minúsculas. La directiva Cumplimiento de mayúsculas y minúsculas cambia el servidor de su modo predeterminado que distingue entre mayúsculas y minúsculas, donde File.txt y file.txt son diferentes, a un modo compatible con Windows y macOS, donde File.txt y file.txt se consideran el mismo archivo. Esta opción afecta a archivos, carpetas, ramas y etiquetas.
Esta configuración impide que los colaboradores introduzcan diferencias basadas exclusivamente en el uso de mayúsculas y minúsculas. La configuración evita los conflictos de distinción de mayúsculas y minúsculas y bloquea los envíos de cambios que las cambian en el nombre de archivos, carpetas, ramas y etiquetas. El usuario tiene que volver a escribir el historial sin cambios enviados para corregir el problema y, luego, intentar enviar los cambios de nuevo.
Esta configuración no corregirá un repositorio que ya contenga objetos que solo difieren por el uso de mayúsculas y minúsculas. Es mejor corregir estos problemas antes de activar la directiva. Cambie el nombre de los archivos y las carpetas, o bien vuelva a crear las ramas y las etiquetas para usar nombres no conflictivos.
Para establecer la directiva Cumplimiento de mayúsculas y minúsculas:
Seleccione Configuración del proyecto>Repositorios y seleccione un repositorio si quiere configurar solo dicho repositorio.
En la pestaña Directivas de la página Todos los repositorios o <Nombre del repositorio>, en Repository Policies (Directivas de repositorio), establezca Cumplimiento de mayúsculas y minúsculas en Activado o Desactivado.
Impone un bloqueo si no se cumple la directiva. Valores aceptados: false, true. Requerido.
enabled
Habilite la directiva. Valores aceptados: false, true. Requerido.
repository-id
Identificador del repositorio en el que se va a aplicar la directiva. Requerido.
detect
Detecta automáticamente la organización. Valores aceptados: false, true.
org
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git.
Ejemplo
En el ejemplo siguiente se implementa una directiva de cumplimiento de mayúsculas y minúsculas necesaria en el repositorio Fabrikam. Puede obtener el identificador del repositorio mediante az repos list. 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 case-enforcement create --blocking true --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------------- ------------- ------------ ------------------------------------ ------------
40 Git repository settings True True d28cd374-e7f0-4b1f-ad60-f349f155d47c All Branches
Actualización de una directiva de cumplimiento de mayúsculas y minúsculas
Identificador de la directiva que se actualizará. Obligatorio.
blocking
Impone un bloqueo si no se cumple la directiva. Valores aceptados: false, true.
detect
Detecta automáticamente la organización. Valores aceptados: false, true.
enabled
Habilite la directiva. Valores aceptados: false, true.
org
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git.
repository-id
Identificador del repositorio en el que se va a aplicar la directiva.
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 la directiva de cumplimiento de mayúsculas y minúsculas en el repositorio Fabrikam de modo que ya no se habilite ni bloquee. 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 case-enforcement update --blocking false --enabled false --policy-id 40 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------------- ------------- ------------ ------------------------------------ ------------
40 Git repository settings False False d28cd374-e7f0-4b1f-ad60-f349f155d47c All Branches
Los comandos de la CLI de Azure DevOps no son compatibles con Azure DevOps Server.
Directiva Nombres reservados
No todos los nombres de archivo están permitidos en los sistemas de archivos de los tres principales sistemas operativos: Windows, macOS y Linux. Las confirmaciones en un repositorio compartido pueden contener nombres de archivo o carpeta que no son válidos en una o varias plataformas. Si se capturan y extraen del repositorio archivos o carpetas no válidos en estas plataformas, los directorios de trabajo pueden dañarse. Para obtener más información, consulte Compatibilidad multiplataforma de Git.
Puede habilitar o deshabilitar directivas para establecer restricciones en los nombres de archivo y carpeta. La configuración Nombres reservados bloquea el envío de cambios a un repositorio que contiene nombres de archivo o carpeta que no son válidos en todas las plataformas. Para ver qué nombres no son válidos, consulte Compatibilidad multiplataforma de Git.
Para establecer la directiva Nombres reservados:
Seleccione Configuración del proyecto>Repositorios y seleccione un repositorio si quiere configurar solo dicho repositorio.
En la pestaña Directivas de la página Todos los repositorios o <Nombre del repositorio>, en Repository Policies (Directivas de repositorio), establezca Nombres reservados en Activado o Desactivado.
Directiva Longitud máxima de la ruta de acceso
No todas las longitudes de la ruta de acceso están permitidas en los sistemas de archivos de los tres principales sistemas operativos: Windows, macOS y Linux. Las confirmaciones en un repositorio compartido pueden contener archivos o directorios con longitudes de la ruta de acceso que no son válidas en una o varias plataformas. Si estos archivos o directorios se capturan y extraen del repositorio en una plataforma en la que no son válidos, los directorios de trabajo pueden dañarse. Para obtener más información, consulte Compatibilidad multiplataforma de Git.
La configuración Longitud máxima de la ruta de acceso bloquea los envíos de cambios que contienen archivos o directorios con longitudes de la ruta de acceso que no son válidas en todas las plataformas. Para ver qué longitudes de la ruta de acceso no son válidas, consulte Compatibilidad multiplataforma de Git. Al habilitar esta configuración, el valor máximo predeterminado es 248, porque esa longitud máxima es totalmente compatible con las tres plataformas principales.
Puede modificar el valor máximo de la ruta de acceso. Por ejemplo, si solo tiene desarrolladores de macOS o Linux en la organización, puede optar por establecer la longitud máxima en el valor que se admite en ambas plataformas (1016). También puede optar por establecer un valor máximo inferior para la ruta de acceso, a fin de aplicar las convenciones de nomenclatura de directorios de la organización.
Para establecer la directiva Longitud máxima de la ruta de acceso:
Seleccione Configuración del proyecto>Repositorios y seleccione un repositorio si quiere configurar solo dicho repositorio.
En la pestaña Directivas de la página Todos los repositorios o <Nombre del repositorio>, en Repository Policies (Directivas de repositorio), establezca Longitud máxima de la ruta de acceso en Activado o Desactivado.
Si ha activado la configuración, escriba una longitud máxima de la ruta de acceso.
Directiva Tamaño máximo de archivo
Los archivos grandes insertados en el repositorio de Git permanecen en el repositorio indefinidamente, lo que aumenta los tiempos de clonación y el uso del disco. Para obtener instrucciones sobre cómo administrar archivos grandes, consulte Administración y almacenamiento de archivos grandes en Git.
La configuración de la directiva Tamaño máximo de archivo impide que los archivos con un tamaño superior al determinado entren en el repositorio. Si un envío de cambios contiene un archivo nuevo o actualizado con un tamaño superior al límite establecido en esta configuración, el envío de cambios se bloquea. El usuario debe volver a escribir el historial sin cambios enviados para quitar el archivo grande e intentar enviar los cambios de nuevo.
Para configurar la directiva Tamaño máximo de archivo:
Seleccione Configuración del proyecto>Repositorios y seleccione un repositorio si quiere configurar solo dicho repositorio.
En la pestaña Directivas de la página Todos los repositorios o <Nombre del repositorio>, en Repository Policies (Directivas de repositorio), establezca Tamaño máximo de archivo en Activado o Desactivado.
Si ha activado la configuración, seleccione un tamaño máximo de archivo.
Impone un bloqueo si no se cumple la directiva. Valores aceptados: false, true. Requerido.
enabled
Habilite la directiva. Valores aceptados: false, true. Requerido.
maximum-git-blob-size
Tamaño máximo de blob de Git en bytes. Por ejemplo, para especificar un límite de 10 bytes, --maximum-git-blob-size 10.Requerido.
repository-id
Identificador del repositorio en el que se va a aplicar la directiva. Requerido.
use-uncompressed-size
Indica si se va a usar un tamaño sin comprimir. Valores aceptados: false, true. Requerido.
detect
Detecta automáticamente la organización. Valores aceptados: false, true.
org
URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante 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 crea una directiva de tamaño máximo de archivo de bloqueo de 1 GB en el repositorio Fabrikam. Puede obtener el identificador del repositorio mediante az repos list. 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 file-size create --blocking true --enabled true --maximum-git-blob-size 10485760 --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --use-uncompressed-size true --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------- ------------- ------------ ------------------------------------ ------------
45 File size restriction True True d28cd374-e7f0-4b1f-ad60-f349f155d47c All Branches
Actualización de una directiva de tamaño de archivo
Identificador de la directiva que se actualizará. Obligatorio.
blocking
Impone un bloqueo si no se cumple la directiva. Valores aceptados: false, true.
detect
Detecta automáticamente la organización. Valores aceptados: false, true.
enabled
Habilite la directiva. Valores aceptados: false, true.
maximum-git-blob-size
Tamaño máximo de blob de Git en bytes.
org
Dirección URL de organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o id. del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado mediante la configuración de Git.
repository-id
Identificador del repositorio en el que se va a aplicar la directiva.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
use-uncompressed-size
Indica si se va a usar un tamaño sin comprimir. Valores aceptados: false, true.
Ejemplo
En el ejemplo siguiente se actualiza el tamaño máximo del archivo en el repositorio Fabrikam. 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 file-size update --id 45 --maximum-git-blob-size 20971520 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------- ------------- ------------ ------------------------------------ ------------
45 File size restriction True True d28cd374-e7f0-4b1f-ad60-f349f155d47c All Branches
Los comandos de la CLI de Azure DevOps no son compatibles con Azure DevOps Server.
Use GitHub para crear una estrategia moderna de control de código fuente y prepárese para el examen AZ-400: Diseño e implementación de soluciones de Microsoft DevOps.