gitlab - oficial - Error de inserción de Git gancho de pre-recepción rechazado
gitlab omc (10)
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 servidor rails ejecutando el comando
sudo -u git -H bundle exec rails s -e production
.
Después de eso, creé un usuario, usando herramientas administrativas 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 llevar el proyecto al repositorio y no hay
repositories/
en la ruta.
Quiero decir que genera
git@mygitlabhost:user/repo.git
lugar de
git@mygitlabhost:repositories/user/repo.git
que es correcto.
3) Cuando intenté depurarlo, abrí el script
pre-receive
dentro del repositorio en el servidor e intenté generar variables (hay 3 de ellas):
refs = ARGF.read
,
key_id = ENV[''GL_ID'']
y
repo_path = Dir.pwd
y encontrado, ese key_id siempre está vacío.
Tal vez el problema esté aquí ... Si es así, por favor, dame sugerencias sobre cómo solucionarlo.
Gracias
Siguiente problema resuelto en mi máquina local:
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 la misma cantidad 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
Para Mac
open -a TextEdit.app ~/.gitconfig
NOTA: Tendrá que arreglar las confirmaciones anteriores que intentaba impulsar.
-
Modifique su último compromiso:
> git commit --amend --reset-author <save and quit the commit file text editor that opens, if Vim then :wq to save and quit>
-
Intenta volver a presionar tus commits:
> git push
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)
! [remote rejected] master -> master (pre-receive hook declined)
Entonces, cómo se solucionó que me asignó como
mantenedor
para que pudiera enviar el código directamente al maestro.
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.
GitLab marca de forma predeterminada la rama
master
como
protected
(consulte la sección
Protecting your code
en
https://about.gitlab.com/2014/11/26/keeping-your-code-protected/
why).
Si es así en su caso, esto puede ayudar:
Abra su proyecto> Configuración [> pestaña Repositorio] y vaya a "Ramas protegidas", seleccione: "Los desarrolladores pueden presionar" e intente nuevamente.
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
Necesita agregar su clave ssh a su cuenta git, si arroja un error, elimine la clave ssh anterior y cree una nueva clave ssh y luego agregue.
Parece que el problema es con algunos servicios, como sidekiq.
Ejecutando
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
genera todos los problemas con config.
Puede que no sea el caso, pero esta fue la solución a mi error de " rechazo de gancho previo a la recepción ":
Hay algunos repositorios que solo permiten modificaciones a través de Pull Request . Esto significa que tienes que
- Cree una nueva rama tomando como base la rama a la que desea enviar sus cambios.
- Comprometa y empuje sus cambios a la nueva sucursal.
- Abra una solicitud de extracción para fusionar su sucursal con la original.
Resolví este problema cambiando
remote ''origin'' url
de
http
al protocolo
git
en
.git/config
Vaya a Configuración del proyecto -> Ganchos -> (Debajo) Ganchos de recepción previa
Deshabilitar cp requiere referencia de problema en confirmaciones
To use npm to install your application''s dependencies please delete the yarn.lock file.
To use yarn to install your application''s dependences please delete the package-lock.json file.