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 ...
Respuestas:
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
la rama está protegida de forma predeterminada: obliga a los desarrolladores a emitir solicitudes de fusión para que los encargados del proyecto las validen antes de integrarlas en el código principal.Puede activar y desactivar la protección en las sucursales 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
git push --force
activada , la protección se limitará a rechazar operaciones que requieran (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 a quién se le permite fusionar o empujar en las ramas seleccionadas (por ejemplo: puede desactivar los empujes
master
en absoluto, obligando 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 al menos es 'Maestro' del proyecto dado).
Luego haga clic en "Desproteger" o "Los desarrolladores pueden presionar":
fuente
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"
fuente
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.
fuente
Intenta hacer cambios según el enlace
https://docs.gitlab.com/ee/user/project/protected_branches.html
haga que el proyecto no esté protegido para que el desarrollador o desarrollador lo confirme
fuente
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.
fuente
Estaba en Windows cuando apareció este problema.
El error es extraño porque ocurre antes de que pueda ingresar mi nombre de usuario y mi contraseña. ¿Qué pasa si había un caché o algo así? Lo busqué en línea y encontré esta respuesta en el foro de soporte de gitlab :
En las credenciales de Windows, encontré dos entradas de GitLab para una cuenta antigua. ¡Elimino ambos y ahora funciona!
El panel:
fuente
Esto se considera como características en Gitlab.
Maintainer / Owner
el acceso nunca puede forzar el empuje nuevamente para la rama predeterminada y protegida, como se indica en estos documentosfuente
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.
fuente
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.
fuente