Cuando intento presionar un cambio que he cometido, aparece el siguiente error ...
git.exe push -v --progress "origin" iteration1:iteration1
remote: *********************************************************************
To ssh://git@mycogit/cit_pplus.git
! [remote rejected] iteration1 -> iteration1 (pre-receive hook declined)
error: failed to push some refs to 'ssh://git@mycogit/cit_pplus.git'
¿Que esta pasando?
Respuestas:
Debe preguntar a quien mantiene el repositorio en
git@mycogit/cit_pplus.git
.Sus compromisos fueron rechazados por el
pre-receive
gancho de ese repositorio (es un script configurable por el usuario que está destinado a analizar los compromisos entrantes y decidir si son lo suficientemente buenos como para ser aceptados en el repositorio).También es una buena idea pedirle a esa persona que actualice el enlace, para que imprima los motivos del rechazo.
Si el mantenedor es usted mismo, entonces parece que tiene un problema con su configuración en el lado del servidor. Por favor, comparta más información entonces.
fuente
git config user.name 'UpdatedUserName'
Apuesto a que estás intentando un empuje no rápido y el gancho lo bloquea. Si ese es el caso, simplemente ejecute
git pull --rebase
antes de presionar para cambiar la base de sus cambios locales en la nueva base de código.fuente
git branch --set-upstream-to=origin/myBranch
. +1 por tu respuesta.git pull --rebase
, tuvo que reajustar de nuevo y fue capaz de empujar la rama. Finalmente descubrí que mi rama se protegió.El tamaño del archivo es importante. Hay un límite de ~ 120 MB para un solo archivo. En mi caso, .gitignore usando Visual Studio tenía el archivo en la lista, pero el archivo aún estaba confirmado. Al usar el git cli, podemos obtener más información detallada sobre el error.
el gancho previo a la recepción rechazado se debió al gran archivo. Básicamente validando el empuje.
Para resolverlo, eliminé el último commit usando:
Luego excluí el archivo del commit.
Nota: Use HEAD ~ N para volver a N número de confirmaciones anteriores. (es decir, 3, 4) Utilice siempre el interruptor --soft para mantener los cambios en la carpeta
Espero eso ayude.
fuente
Esto puede deberse a que no tenía el derecho de acceso para enviar una confirmación a una rama como
master
. Puede pedirle al mantenedor que le otorgue el derecho de enviar confirmaciones.fuente
En mi caso recibí este mensaje porque la rama estaba marcada como 'Protegida' en GitLab.
fuente
Protected Branches
para encontrarlo.Recibí este mensaje cuando el servidor GitLab estaba experimentando algunos cambios. Al día siguiente, empujar funcionó bien. De todos modos, como otros señalaron, consulte con su responsable para asegurarse.
fuente
Tuve este problema al intentar fusionar cambios con un tamaño de archivo mayor que el que permitía el repositorio remoto (en mi caso, era GitHub)
fuente
Encontré este mismo problema.
Lo que me resolvió fue cambiar a otra rama y luego volver a la original.
No estoy seguro de cuál fue la causa del subrayado, pero esto lo solucionó.
fuente
Bitbucket : compruebe los permisos de sucursal en la configuración (puede estar en 'Denegar todo'). Si eso no funciona, simplemente clone su sucursal en una nueva sucursal local , envíe los cambios al control remoto (se creará una nueva sucursal remota) y cree un RP.
fuente
En caso de que ayude a alguien:
Tenía un repositorio en blanco sin una rama maestra para desproteger (en Gitlab), así que antes de ejecutar
git push -u origin --all
git push -u origin master
primero--all
&--tags
)fuente
Me enfrenté al mismo error, al verificar que tenía acceso de desarrollador y no podía publicar una nueva sucursal. Agregar mayores derechos de acceso resolvió este problema. (Gitlab)
fuente
Recibí este error con GitHub gist. Estaba tratando de empujar un commit con archivos en subdirectorios. Resultó que Gist solo puede tener archivos en el directorio raíz.
fuente
"snippets\\csharp.json"
que le dio problemas a git en Windows.Elimine la opción de rama protegida o permita roles adicionales como desarrolladores o administradores para permitir que estos usuarios que experimentan este error hagan fusiones y empujen.
fuente
En mi caso, tenemos enlaces para mensajes de confirmación, nuestro script del servidor acepta confirmaciones si tienen el formato especial para el mensaje de confirmación
"<JIRA ID><Message>"
. (Engancha) rechaza la confirmación si el ticket de Jira respectivo no existe o si hay algunos símbolos especiales en el mensaje de confirmación. Me enfrento a este error cuando agrego /, [,> etc. en un mensaje de confirmación, eliminando eso funciona bien.fuente
Esto realmente sucede cuando YACC está habilitado en el lado del servidor en BitBucket. YACC permite que los nombres de problemas de JIRA se mencionen en el mensaje de confirmación. Por lo tanto, cada vez que confirme algo al menos, mantenga su número JIRA en el mensaje de confirmación y, además, puede agregar su propio mensaje.
fuente
Estaba usando GitKraken e hicimos una rama local, luego fusionamos dos ramas remotas en ella y luego intentamos empujar la rama local al origen. No funcionó con el mismo mensaje de error.
La solución fue crear la rama local y empujarla primero al origen y luego hacer la fusión.
fuente
Problema: "PUSH falló las referencias / cabeza / - gancho previo a la recepción rechazado"
Me he enfrentado al problema de no poder impulsar mis cambios a mi rama de origen y cualquier cosa para dominar la rama de un repositorio de proyecto particular ya que el tamaño de ese repositorio superaba el límite estricto de 2 GB. Estaba arrojando el error. Esto se debe a que, sin saberlo, enviamos los datos de prueba a bitbucket desde otras ramas de prueba.
Así que la comprobación probada es la misma con otros repositorios de proyectos y no estaban teniendo ningún problema.
Reparar:
Mi colega notó que cuando clonamos el proyecto localmente, el tamaño del proyecto era de 110 MB. Entonces, comenzamos a limpiar las ramas que fusionamos anteriormente y las ramas activas que ya no son necesarias. Una vez que se realizó la limpieza para un par de sucursales, nos dimos cuenta de que el tamaño del repositorio bajó drásticamente de 2GB a 120MB. Luego intentamos enviar los cambios a mi rama y funcionó.
fuente
En mi caso, tenía un nuevo repositorio, empujé una rama ('UCA-46', no 'maestro'), la volví a armar, presioné a la fuerza nuevamente y obtuve el error. No existían ganchos web. Me ejecutada
git pull --rebase
como @ThiefMaster aconsejó, tuvo que reajustar de nuevo y fue capaz de empujar la rama. Pero esa era una forma extraña y difícil.Luego vi que el gancho de pre-recepción de error de inserción de Git disminuyó . Descubrí que mi rama se protegió . Quité la protección y pude forzar nuevamente.
fuente
Obtuve esto cuando intentaba pasar a una instancia de dokku. Resulta que el disco estaba lleno en mi servidor.
Corrió:
du -f
Y el resultado fue:
fuente
Para mí, la autorización en el servidor git remoto resuelve el problema.
fuente
En mi caso, es porque accidentalmente agregué un archivo gigante a mi inserción no comprometida y no pude deshacerme de él sin importar qué extracción, reinicio o ejecución hiciera después.
mi solución sucia pero viable es cambiar el nombre del directorio actual, volver a clonar el directorio a local y reflejar los cambios manualmente en el directorio local reclonado ...
No suena bien pero funciona ...
fuente
El error para mí fue que el proyecto no tenía ninguna rama creada, y mi rol era desarrollador, por lo que no pude crear ninguna rama, ¡solicite que me otorguen los permisos pertinentes y todo en orden ahora!
fuente
master
Aún no existe una rama predeterminada (por ejemplo ) para su control remoto. Entonces, primero debe crear unamaster
sucursal en el servidor remoto de git (por ejemplo, crear unREADME.md
archivo predeterminado ) y luego intentarpush
todas sus sucursales locales existentes con este comando:fuente
Para mí, todo funcionaba bien hasta que Bitbucket cambió automáticamente su política hoy (21 de abril de 2020). Esto se alinea con una nueva característica recientemente presentada hoy llamada Workspaces , por lo que sospecho que tiene algo que ver con eso.
Solución alternativa : I (como administrador) seguí las instrucciones para agregar la dirección de correo electrónico a los usuarios en la interfaz de usuario (puede encontrar el correo electrónico que está utilizando)
git config --list
fuente
Especificar una versión de node.js puede resolver el problema como
fuente