Ejecuté el servidor gitlabhq rails en una máquina virtual, siguiendo 1-6 pasos de este tutorial https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md e inicia el comando de ejecución del servidor rails sudo -u git -H bundle exec rails s -e production
. Después de eso, creé un usuario, usando herramientas de administración y creé un nuevo proyecto para este usuario. Entonces estoy tratando de llevar el proyecto existente a este repositorio como siempre. Pero en el último paso, git push origin master
falla con el error
[remoto rechazado] maestro -> maestro (gancho de pre-recepción rechazado)
Información adicional:
1) No he activado el usuario (propietario del proyecto) a través del enlace de activación por correo electrónico, porque no he configurado el servicio de correos en el lado del servidor y no encontré instrucciones sobre cómo hacerlo en este manual.
2) El servidor de Gitlab genera consejos sobre cómo impulsar el proyecto al repositorio y no hay ningún repositories/
camino. Quiero decir que genera en git@mygitlabhost:user/repo.git
lugar de git@mygitlabhost:repositories/user/repo.git
cuál es correcto.
3) Cuando trataba de depurarlo, abrí pre-receive
la escritura dentro de recompra en el servidor y trató de variables de salida (hay 3 de ellos): refs = ARGF.read
, key_id = ENV['GL_ID']
y repo_path = Dir.pwd
e hallado: que id_clave siempre está vacío. Quizás el problema esté aquí ... Si es así, por favor, dame sugerencias sobre cómo solucionarlo. Gracias
Respuestas:
GitLab por defecto marca la
master
rama comoprotected
(Ver parteProtecting your code
en https://about.gitlab.com/2014/11/26/keeping-your-code-protected/ why). Si es así en su caso, esto puede ayudar:a través de https://gitlab.com/gitlab-com/support-forum/issues/40
Para la versión 8.11 y superior, cómo hacerlo aquí: https://docs.gitlab.com/ee/user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users
fuente
GitLab 8.11
las opciones han cambiado un poco, verifique los detalles aquíA. Primero, asegúrese de estar utilizando los detalles de inicio de sesión correctos para conectarse al servidor Bitbucket (es decir, un nombre de usuario / contraseña / clave SSH que le pertenece)
B. Luego, asegúrese de que el nombre / dirección de correo electrónico esté correctamente configurado en su configuración local de Git: establezca su configuración local de Git para la cuenta que está intentando ingresar (el cheque afirma que usted es la persona que confirmó los archivos) * Tenga en cuenta que esto distingue entre mayúsculas y minúsculas, tanto para el nombre como para la dirección de correo electrónico * También distingue entre espacios: algunas cuentas de empresa tienen espacios / caracteres adicionales en su nombre, por ejemplo. "
Contractor/ space space(LDN)
". Debe incluir el mismo número de espacios en su configuración que en Bitbucket Server. Verifique esto en el Bloc de notas si está atascado.C. Si estaba usando la cuenta incorrecta, simplemente cambie las credenciales de su cuenta (nombre de usuario / contraseña / clave SSH) e intente presionar nuevamente.
D. De lo contrario, si su configuración local es incorrecta, deberá modificarla
open -a TextEdit.app ~/.gitconfig
NOTA: Tendrá que arreglar las confirmaciones anteriores que intentaba impulsar.
Modifique su último compromiso:
Intenta volver a presionar tus commits:
fuente
En mi caso, mi equipo llevó a crear un repositorio (el repositorio estaba vacío) y me asignó como desarrollador, así que cuando presioné el código directamente para dominar el error que estaba enfrentando
! [remote rejected] master -> master (pre-receive hook declined)
Entonces, ¿cómo se solucionó que me asignó como mantenedor para que yo fue capaz de enviar el código directamente al maestro.fuente
Parece que el problema es con algunos servicios, como sidekiq. Ejecutar
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
genera todos los problemas con config.fuente
ihave siguió las instrucciones de heroku registros img https://devcenter.heroku.com/articles/buildpacks#detection-failure (uso cmd: Registros de Heroku -> mostrar su error) y luego hacer el cmd: "heroku buildpacks: claro". ¡finalmente funcionó para mí!
fuente
Es posible que no tenga acceso de desarrollador al proyecto o rama maestra. Necesita acceso de desarrollo para impulsar un nuevo trabajo.
Nuevo trabajo que significa nuevas ramas y compromisos.
fuente
Puede que no sea el caso, pero esta fue la solución a mi " gancho previo a la recepción rechazado error de " ":
Hay algunos repositorios que solo permiten modificaciones a través de Pull Request . Esto significa que tienes que
fuente
Debe agregar su clave ssh a su cuenta de git, si arroja un error, elimine la clave ssh anterior y cree una nueva clave ssh y luego agregue.
fuente
He resuelto este problema cambiando
remote 'origin' url
a partirhttp
degit
protocolo.git/config
fuente
Vaya a Configuración del proyecto -> Ganchos -> (Bajo) Ganchos de pre-recepción
Desactivar cp requiere referencia de problema en confirmaciones
fuente
Me topé con el mismo error usando BitBucket. Tenía un repositorio local de Git del que quería hacer una copia de seguridad en línea, así que creé un nuevo repositorio desde mi cuenta de BitBucket (usando la interfaz web).
Después de correr
git remote add origin [email protected]:StatMarianne/<a private repo>.git
, corrígit push origin master
en vano (normalmente no uso la opción -ugit push
porque no me importa escribir el repositorio completo y los nombres de las ramas al empujar y tirar).El error decía:
Pero mi sucursal local fue exitosamente empujada cuando corrí
git push -u origin master
(siguiendo estrictamente las instrucciones de BitBucket).Me parece sorprendente, ya que -u (
--set-upstream
) solo debería "agregar referencia ascendente (seguimiento) ..." De todos modos.fuente
Me he enfrentado al mismo problema, esto se debe a que estoy empujando mi código directamente en la rama maestra y no tengo derechos para esto. Así que inserto mi código en una nueva rama y después de eso, creé una solicitud de extracción para fusionarme con el maestro.
fuente