remote origin branch gitlab git-commit git-push git-add

branch - origin - Solucione el error de GitLab: "¿no puede insertar código en ramas protegidas en este proyecto"?



gitlab push (7)

Tengo un problema cuando empujo mis códigos a git mientras tengo acceso de desarrollador en mi proyecto, pero todo está bien cuando tengo acceso maestro. ¿De dónde viene el problema? ¿Y como arreglarlo?

Mensaje de error:

error: no está permitido insertar código en ramas protegidas en este proyecto.
...
error: no se pudieron insertar algunas referencias para ...


Experimenté el mismo problema en mi repositorio. Soy el maestro del repositorio, pero tuve ese error.

Desprotegí mi proyecto y luego lo volví a proteger, y el error desapareció.

Habíamos actualizado la versión de gitlab entre mi empuje anterior y el problemático. Supongo que esta actualización ha creado el error.


He encontrado este error en "una rama vacía" en mi servidor local de gitlab. Algunas personas mencionaron que "no se puede presionar por primera vez en una rama vacía". Traté de crear un archivo README simple en el gitlab a través de mi navegador. ¡Entonces todo se arregló increíblemente y el problema se resolvió! Menciono que yo era el maestro y que la rama no estaba protegida.



Las soluciones anteriores explican claramente cuál es el problema; cuando no tiene control sobre el repositorio, la mejor manera de enviar su código es crear una Bifurcación del repositorio original y enviar su código a este nuevo repositorio para que luego pueda pasarlo al original.


Solución simple para este problema: tener una conversación rápida con una persona que tenga el rol de propietario en gitlab. Puede empujar un archivo READ.md o similar para comenzar. Más tarde, todo estará funcionando como antes.


no hay problema, todo funciona como se esperaba.

En GitLab se pueden proteger algunas ramas. De manera predeterminada, solo los usuarios del Mantenedor / Propietario pueden comprometerse con sucursales protegidas (ver documentos de permisos ). master rama master está protegida de forma predeterminada: obliga a los desarrolladores a emitir solicitudes de fusión para ser validadas por los encargados del mantenimiento del proyecto antes de integrarlas en el código principal.

Puede activar y desactivar la protección en las ramas seleccionadas en Configuración del proyecto (donde depende exactamente de la versión de GitLab; consulte las instrucciones a continuación).

En la misma página de configuración, también puede permitir que los desarrolladores ingresen a las ramas protegidas. Con esta configuración activada, la protección se limitará a rechazar operaciones que requieren git push --force (rebase, etc.)

Desde GitLab 9.3

Vaya al proyecto: "Configuración" → "Repositorio" → "Expandir" en "Ramas protegidas"

No estoy realmente seguro de cuándo se introdujo este cambio, las capturas de pantalla son de la versión 10.3.

Ahora puede seleccionar quién está autorizado a fusionar o empujar en las ramas seleccionadas (por ejemplo: puede desactivar los empujes para master , lo que obliga a que todos los cambios en la rama se realicen a través de solicitudes de fusión). O puede hacer clic en "Desproteger" para eliminar por completo la protección de la rama.

Desde GitLab 9.0

De manera similar a GitLab 9.3, pero no es necesario hacer clic en "Expandir"; todo ya está expandido:

Vaya al proyecto: "Configuración" → "Repositorio" → desplácese hacia abajo hasta "Ramas protegidas".

Pre GitLab 9.0

Proyecto: "Configuración" → "Ramas protegidas" (si es al menos ''Maestro'' del proyecto dado).

Luego haga clic en "Desproteger" o "Los desarrolladores pueden presionar":


para GitLab Enterprise Edition 9.3.0

Por defecto, la rama maestra está protegida, así que desprotege :)

1-Seleccione su "proyecto"

2-Seleccione "Repositorio"

3-Seleccione "ramas"

4-Seleccione "Configuración del proyecto"

5 "ramas protegidas" haga clic para "expandir"

6-y luego haga clic en el botón "desproteger"