Skip to main content

Administrar una regla de protección de rama

Puede crear una regla de protección de rama a fin de aplicar determinados flujos de trabajo para una o varias ramas, como exigir una revisión de aprobación o pasar comprobaciones de estado para todas las solicitudes de incorporación de cambios combinadas en la rama protegida.

Who can use this feature

People with admin permissions to a repository can manage branch protection rules.

Las ramas protegidas están disponibles en los repositorios públicos con GitHub Free y GitHub Free para las organizaciones, y en los repositorios públicos y privados con GitHub Pro, GitHub Team, GitHub Enterprise Cloud, y GitHub Enterprise Server.

Acerca de las reglas de protección de rama

Puede crear una regla de protección de rama en un repositorio para una rama específica, todas las ramas o cualquier rama que coincida con un patrón de nombre que especifique con la sintaxis fnmatch. Por ejemplo, para proteger todas las ramas que contengan la palabra release, puede crear una regla de rama para *release*.

Puede crear una regla para todas las ramas actuales y futuras de la repositorio con la sintaxis de comodín *. Como GitHub usa la marca File::FNM_PATHNAME para la sintaxis File.fnmatch, el carácter comodín no coincide con los separadores de directorios (/). Por ejemplo, qa/* coincidirá con todas las ramas que comienzan por qa/ y que contienen una sola barra diagonal. Puede incluir varias barras diagonales con qa/**/* y puede ampliar la cadena qa con qa**/**/* para que la regla sea más inclusiva. Para más información sobre las opciones de sintaxis para las reglas de rama, vea la documentación de fnmatch.

Si un repositorio tiene varias reglas de rama protegida que afectan las mismas ramas, las reglas que incluyen el nombre de una rama específica tienen la mayor prioridad. Si hay más de una regla de rama protegida que hace referencia al mismo nombre de rama específico, entonces la regla de rama creada primera tendrá la prioridad más alta.

Las reglas de rama protegida que mencionen un carácter especial, como *, ? o ], se aplican en el orden en el que se hayan creado, por lo que las reglas más antiguas con estos caracteres tienen una prioridad más alta.

Para crear una excepción a una regla de rama existente, puedes crear una nueva regla de protección de rama que sea una prioridad superior, como una regla de rama para un nombre de rama específico.

Para más información sobre cada una de las opciones de protección de rama disponibles, vea "Acerca de las ramas protegidas".

Crear una regla de protección de rama

Cuando creas una regla de rama, la rama que especifiques no tendrá que en el repositorio aún.

  1. En your GitHub Enterprise Server instance, navega a la página principal del repositorio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

  2. En la sección de "Code and automation" de la barra lateral, haga clic en Branches.

  3. Junto a "Reglas de protección de rama", haga clic en Agregar regla. Botón para agregar reglas de protección de rama

  4. Debajo del "Patrón del nombre de la rama", teclea el nombre de la rama o el patrón que quieras proteger. Campo de regla de rama

  5. Opcionalmente, habilita las solicitudes de cambios requeridas.

    • En "Proteger las ramas coincidentes", seleccione Exigir una solicitud de incorporación de cambios antes de la combinación. Casilla para restringir la revisión de la solicitud de incorporación de cambios
    • Opcionalmente, para exigir aprobaciones antes de que se pueda combinar una solicitud de incorporación de cambios, seleccione Exigir aprobaciones, haga clic en el menú desplegable Número obligatorio de aprobaciones antes de la combinación y, después, seleccione la cantidad de revisiones de aprobación que le gustaría exigir en la rama. Menú desplegable para seleccionar el número de aprobaciones de revisión necesarias
    • Opcionalmente, para descartar una revisión de aprobación de la solicitud de incorporación de cambios cuando una confirmación que modifica el código se inserta en la rama, seleccione Descartar las aprobaciones de solicitud de incorporación de cambios obsoletas cuando se inserten confirmaciones nuevas. Casilla para descartar las aprobaciones de solicitud de incorporación de cambios obsoletas cuando se inserten confirmaciones
    • Opcionalmente, para exigir una revisión de un propietario del código cuando la solicitud de incorporación de cambios afecte a código que tenga un propietario designado, seleccione Exigir la revisión de los propietarios del código. Para más información, vea "Acerca de los propietarios del código". Exigir la revisión de los propietarios del código
    • Opcionalmente, para permitir que actores concretos inserten código en la rama sin crear solicitudes de incorporación de cambios cuando es obligatorio, selecciona Permitir que actores específicos omitan las solicitudes de incorporación de cambios necesarias. Posteriormente, busca y selecciona los actores a quienes se les debería permitir omitir la creación de una solicitud de incorporación de cambios. Casilla para permitir que actores específicos omitan los requisitos de la solicitud de incorporación de cambios
    • Opcionalmente, si el repositorio forma parte de una organización, seleccione Restringir quién puede descartar las revisiones de una solicitud de incorporación de cambios. Posteriormente, busca y selecciona los actores a quienes se les permitirá descartar las revisiones de solicitudes de incorporación de cambios. Para más información, vea "Descarte de la revisión de una solicitud de incorporación de cambios". Casilla para restringir quién puede descartar las revisiones de la solicitud de incorporación de cambios
  6. Opcionalmente, habilita las verificaciones de estado requeridas. Para más información, vea "Acerca de las comprobaciones de estado".

    • Seleccione Exigir que se superen comprobaciones de estado antes de la combinación. Opción de comprobaciones de estado obligatorias
    • Opcionalmente, para garantizar que las solicitudes de incorporación de cambios se prueban con el código más reciente en la rama protegida, seleccione Exigir que las ramas estén actualizadas antes de la combinación. Casilla de comprobación de estado estricta o flexible
    • Busca las verificaciones de estado seleccionando aquellas que quieras requerir. Interfaz de búsqueda para las verificaciones de estado disponibles con una lista de verificaciones requeridas
  7. Opcionalmente, seleccione Exigir la resolución de la conversación antes de la combinación. Opción de requerir la resolución de conversaciones antes de fusionar

  8. Opcionalmente, seleccione Exigir confirmaciones con firma. Opción para exigir confirmaciones con firma

  9. Opcionalmente, seleccione Exigir historial lineal. Opción para exigir el historial lineal

  10. Opcionalmente, para elegir en qué entornos se deben implementar correctamente los cambios antes de la combinación, seleccione Exigir que las implementaciones se realicen correctamente antes de la combinación y, después, seleccione los entornos. Opción para exigir la implementación correcta

  11. Opcionalmente, selecciona No permitir omitir la configuración anterior. Casilla para no permitir omitir la configuración anterior

  12. Opcionalmente, habilitan las restricciones de rama.

    • Seleccione Restringir quién puede realizar inserciones en a las ramas coincidentes. Casilla de restricción de rama
    • Opcionalmente, para restringir también la creación de ramas coincidentes, selecciona Restringir inserciones que creen ramas coincidentes. Casilla de restricción de creación de rama
    • Busca y selecciona las personas, equipos o aplicaciones que tendrán permiso para subir información a la rama protegida o crear una rama coincidente. Búsqueda de restricciones de rama
  13. Opcionalmente, en "Reglas que se aplican a todos, incluidos los administradores", seleccione Permitir inserciones forzadas. Opción para permitir inserciones forzadas Luego, elige quién puede forzar la inserción en la rama.

    • Seleccione Todos para permitir que todos los que tengan al menos permisos de escritura en el repositorio realicen inserciones forzadas en la rama, incluidos los que tengan permisos administrativos.

    • Selecciona Especificar quién puede realizar inserciones forzadas para permitir que solo actores concretos realicen inserciones forzadas en la rama. A continuación, busca y selecciona esos actores. Captura de pantalla de las opciones para especificar quién puede realizar inserciones forzadas

      Para más información sobre las inserciones forzadas, vea "Permiso para realizar inserciones forzadas".

  14. Opcionalmente, seleccione Permitir eliminaciones. Opción para permitir eliminaciones de ramas

  15. Haga clic en Crear.

Editar una regla de protección de rama

  1. En your GitHub Enterprise Server instance, navega a la página principal del repositorio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

  2. En la sección de "Code and automation" de la barra lateral, haga clic en Branches.

  3. A la derecha de la regla de protección de rama que quiera editar, haga clic en Editar. Botón Edit (Editar)

  4. Haz los cambios que desees en la regla de protección de rama.

  5. Haga clic en Guardar cambios. Botón Save changes

Borrar una regla de protección de rama

  1. En your GitHub Enterprise Server instance, navega a la página principal del repositorio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

  2. En la sección de "Code and automation" de la barra lateral, haga clic en Branches.

  3. A la derecha de la regla de protección de rama que quiera eliminar, haga clic en Eliminar. Botón Delete (Eliminar)