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 *
. Because GitHub uses the File::FNM_PATHNAME
flag for the File.fnmatch
syntax, the *
wildcard does not match directory separators (/
). For example, qa/*
will match all branches beginning with qa/
and containing a single slash, but will not match qa/foo/bar
. You can include any number of slashes after qa
with qa/**/*
, which would match, for example, qa/foo/bar/foobar/hello-world
. You can also extend the qa
string with qa**/**/*
to make the rule more inclusive.
For more information about syntax options, see the fnmatch documentation.
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, consulta "Acerca de las ramas protegidas".
Sugerencia: Solo se puede aplicar una regla de protección de rama única a la vez, lo que significa que puede ser difícil saber cómo y qué regla se aplicará cuando varias versiones de una regla tengan como destino la misma rama. Para información sobre una alternativa a las reglas de protección de ramas, consulta "Acerca de los conjuntos de reglas".
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.
-
En GitHub.com, navega a la página principal del repositorio. 1. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección de "Código y automatización" de la barra lateral, haga clic en Ramas .
-
Junto a "Reglas de protección de rama", haga clic enAgregar regla.
-
Debajo del "Patrón del nombre de la rama", teclea el nombre de la rama o el patrón que quieras proteger.
-
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.
-
Opcionalmente, para requerir aprobaciones antes de que se pueda combinar una solicitud de incorporación de cambios, selecciona Requerir aprobaciones.
Selecciona el menú desplegable Número necesario de aprobaciones antes de la combinación y, luego, selecciona el número de revisiones de aprobación que quiera solicitar en la rama.
-
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.
-
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 obtener más información, vea «Acerca de los propietarios de 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.
-
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, en el campo de búsqueda, busca y selecciona los actores a quienes se les permite descartar las revisiones de solicitudes de incorporación de cambios. Para obtener más información, vea «Descartar una revisión de solicitud de extracción».
-
De manera opcional, si quieres exigir que alguien distinto de la última persona que hizo inserciones en una rama apruebe una solicitud de cambios antes de la combinación, selecciona Requerir aprobación de la inserción revisable más reciente. Para obtener más información, vea «Acerca de las ramas protegidas».
-
-
Opcionalmente, habilita las verificaciones de estado requeridas. Para obtener más información, vea «Acerca de las verificaciones de estado».
- Seleccione Exigir que se superen comprobaciones de estado antes de la combinación.
- 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.
- En el campo de búsqueda, busca comprobaciones de estado y selecciona las que quieras exigir.
-
Opcionalmente, seleccione Exigir la resolución de la conversación antes de la combinación.
-
Opcionalmente, seleccione Exigir confirmaciones con firma.
-
Opcionalmente, seleccione Exigir historial lineal.
-
Opcionalmente, para combinar las solicitudes de incorporación de cambios con una cola de fusión mediante combinación, seleccione Exigir cola de fusión mediante combinación. Para más información sobre la cola de fusión mediante combinación, consulta "Administración de una cola de fusión mediante combinación".
Sugerencia: La característica de cola de combinación de solicitudes de incorporación de cambios se encuentra actualmente en versión beta pública y está sujeta a cambios.
-
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.
-
Opcionalmente, haz que la rama sea de solo lectura.
- Selecciona Bloquear rama.
- Opcionalmente, para permitir la sincronización de bifurcación, activa Permitir sincronización de bifurcación.
-
Opcionalmente, selecciona No permitir pasar por alto la configuración anterior.
-
Opcionalmente, en repositorios públicos que pertenecen a una organización de GitHub Free y en todos los repositorios que pertenecen a una organización con GitHub Team o GitHub Enterprise Cloud, habilitan las restricciones de rama.
- Seleccione Restringir quién puede realizar inserciones en a las ramas coincidentes.
- Opcionalmente, para restringir también la creación de ramas coincidentes, selecciona Restringir inserciones que creen ramas coincidentes.
- 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.
-
Opcionalmente, en "Reglas que se aplican a todos, incluidos los administradores", seleccione Permitir inserciones forzadas.
Posteriormente, elige quién puede enviar cambios a la fuerza 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.
Para más información sobre las inserciones forzadas, vea "Acerca de las ramas protegidas".
-
-
Opcionalmente, seleccione Permitir eliminaciones.
-
Haga clic en Crear.
Editar una regla de protección de rama
-
En GitHub.com, navega a la página principal del repositorio. 1. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección de "Código y automatización" de la barra lateral, haga clic en Ramas .
-
A la derecha de la regla de protección de rama que quiera editar, haga clic en Editar.
-
Haz los cambios que desees en la regla de protección de rama.
-
Haga clic en Guardar cambios.
Borrar una regla de protección de rama
-
En GitHub.com, navega a la página principal del repositorio. 1. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección de "Código y automatización" de la barra lateral, haga clic en Ramas .
-
A la derecha de la regla de protección de rama que quiera eliminar, haga clic en Eliminar.