Lorsque j'essaie de pousser une modification que j'ai validée, j'obtiens l'erreur suivante ...
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 se passe-t-il?
Réponses:
Vous devriez demander à celui qui maintient le dépôt à
git@mycogit/cit_pplus.git
.Vos validations ont été rejetées par le
pre-receive
crochet de ce référentiel (c'est un script configurable par l'utilisateur qui est destiné à analyser les validations entrantes et à décider si elles sont suffisamment bonnes pour être acceptées dans le référentiel).C'est également une bonne idée de demander à cette personne de mettre à jour le crochet, afin d'imprimer les raisons du rejet.
Si le responsable est vous-même, il semble que vous ayez un problème avec votre configuration côté serveur. Veuillez partager plus d'informations alors.
la source
git config user.name 'UpdatedUserName'
Je parie que vous essayez une poussée non rapide et que le crochet la bloque. Si tel est le cas, exécutez simplement
git pull --rebase
avant de pousser pour rebaser vos modifications locales sur la base de code la plus récente.la source
git branch --set-upstream-to=origin/myBranch
. +1 pour votre réponse.git pull --rebase
, j'ai dû rebaser à nouveau et j'ai pu pousser la branche. Finalement, j'ai trouvé que ma branche était protégée.La taille du fichier est importante. Il y a une limite de ~ 120 Mo pour un seul fichier. Dans mon cas, .gitignore utilisant Visual Studio avait le fichier répertorié, mais le fichier était toujours validé. Lorsque vous utilisez git cli, nous pouvons obtenir des informations plus détaillées sur l'erreur.
le crochet de pré-réception refusé a été causé par le gros fichier. Valider fondamentalement le push.
Pour le résoudre, j'ai supprimé le dernier commit en utilisant:
J'ai ensuite exclu le fichier du commit.
Remarque: Utilisez HEAD ~ N pour revenir au nombre N de validations précédentes. (ie 3, 4) Utilisez toujours le commutateur --soft pour maintenir les modifications dans le dossier
J'espère que ça aide.
la source
Cela peut être dû au fait que vous n'aviez pas le droit d'accès pour pousser un commit vers une branche telle que
master
. Vous pouvez demander au responsable de vous donner le droit de pousser les commits.la source
Dans mon cas, j'ai reçu ce message parce que la branche était marquée comme «protégée» dans GitLab.
la source
Protected Branches
pour le trouver.J'ai reçu ce message lorsque le serveur GitLab subissait quelques modifications. Le lendemain, pousser a bien fonctionné. Quoi qu'il en soit, comme d'autres l'ont souligné, vérifiez auprès de votre responsable pour être sûr.
la source
J'ai eu ce problème lors de la tentative de fusion des modifications avec une taille de fichier supérieure à celle autorisée par le référentiel distant (dans mon cas, c'était GitHub)
la source
J'ai rencontré ce même problème.
Ce qui m'a résolu, c'est de passer à une autre branche, puis de revenir à l'original.
Je ne sais pas quelle était la cause du soulignement, mais cela l'a corrigée.
la source
Bitbucket : vérifiez les autorisations de branche dans les paramètres (il peut s'agir de `` Tout refuser ''). Si cela ne fonctionne pas, clonez simplement votre branche vers une nouvelle branche locale , envoyez les modifications à la télécommande (une nouvelle branche distante sera créée) et créez un PR.
la source
Au cas où cela aiderait quelqu'un:
J'avais un dépôt vierge sans branche principale à déprotéger (dans Gitlab) donc avant de lancer
git push -u origin --all
git push -u origin master
premier,--all
&--tags
)la source
J'ai rencontré la même erreur, en vérifiant que j'avais un accès développeur et que je ne pouvais pas publier une nouvelle branche. L'ajout de droits d'accès supérieurs a résolu ce problème. (Gitlab)
la source
J'ai eu cette erreur avec GitHub gist. J'essayais de pousser un commit avec des fichiers dans des sous-répertoires. Il s'est avéré que l'essentiel ne peut avoir que des fichiers dans le répertoire racine.
la source
"snippets\\csharp.json"
ce qui donnait du fil à retordre à Windows.Supprimez l'option de branche protégée ou autorisez des rôles supplémentaires tels que des développeurs ou des administrateurs pour permettre à ces utilisateurs rencontrant cette erreur de fusionner et de pousser.
la source
Dans mon cas, nous avons des hooks pour les messages de commit, notre script serveur accepte les commit s'ils ont le format spécial pour le message de commit
"<JIRA ID><Message>"
. Il (crochet) refuse la validation si le ticket Jira respectif n'existe pas ou s'il y a des symboles spéciaux dans le message de validation. Je fais face à cette erreur lorsque j'ajoute /, [,> etc. dans un message de validation, la suppression de ces travaux fonctionne bien.la source
Cela se produit en fait lorsque YACC est activé côté serveur dans BitBucket. YACC est activé pour que les noms de problème JIRA soient mentionnés dans le message de validation. Ainsi, chaque fois que vous engagez quelque chose au moins, conservez votre numéro JIRA dans le message de validation et vous pouvez également ajouter votre propre message.
la source
J'utilisais GitKraken et nous avons créé une branche locale, puis nous y avons fusionné deux branches distantes, puis nous avons essayé de pousser la branche locale à l'origine. Cela n'a pas fonctionné avec le même message d'erreur.
La solution était de créer la branche locale et de la pousser d'abord vers l'origine, puis de faire la fusion.
la source
Problème: "Refus échoué PUSH / tête / - crochet de pré-réception refusé"
J'ai été confronté au problème de l'impossibilité de pousser mes modifications dans ma branche d'origine et de quoi que ce soit à la branche principale d'un référentiel de projet particulier car la taille de ce dépôt était supérieure à la limite stricte de 2 Go. C'était jeter l'erreur. C'est parce que nous avions poussé sans le savoir les données de test vers bitbucket à partir d'autres branches de test.
Donc, la vérification essayée est la même chose avec les autres dépôts de projets et ils n'ont eu aucun problème.
Réparer:
Mon collègue a remarqué que lorsque nous avons cloné le projet localement, la taille du projet était de 110 Mo. Nous avons donc commencé à nettoyer les branches que nous avions fusionnées plus tôt et les branches actives qui ne sont plus nécessaires. Une fois que le nettoyage est fait pour quelques branches, nous avons réalisé que la taille du dépôt est passée de 2 Go à 120 Mo. Ensuite, nous avons essayé de pousser les changements dans ma branche et cela a fonctionné.
la source
Dans mon cas, j'avais un nouveau référentiel, j'ai poussé une branche ('UCA-46', pas 'master'), l'ai rebasé, forcé à nouveau et j'ai eu l'erreur. Il n'existait aucun crochet Web. J'ai exécuté
git pull --rebase
comme @ThiefMaster l'a conseillé, j'ai dû rebaser à nouveau et j'ai pu pousser la branche. Mais c'était une manière étrange et difficile.Ensuite, j'ai vu le crochet de pré-réception d'erreur de poussée Git refusé . J'ai trouvé que ma branche était protégée . J'ai retiré la protection et j'ai pu pousser à nouveau de force.
la source
Je l'ai eu en essayant de pousser vers une instance de dokku. Il s'avère que le disque était plein sur mon serveur.
Ran:
du -f
Et le résultat a été:
la source
Pour moi, l'autorisation sur un serveur git distant résout le problème.
la source
Dans mon cas, c'est parce que j'ai accidentellement ajouté un fichier géant à mon push non engagé et que je ne pouvais pas m'en débarrasser, quel que soit le pull, la reset ou le rm que j'ai fait après.
ma sale solution mais la solution réalisable est de renommer le répertoire actuel, de recloner le répertoire en local et de refléter manuellement les modifications dans le répertoire local recloné ...
Ça ne sonne pas bien mais ça marche ...
la source
L'erreur pour moi était que le projet n'avait pas de branches créées, et mon rôle était développeur, donc je ne pouvais pas créer de branche, demandez-leur de me donner les autorisations pertinentes et tout en ordre maintenant!
la source
Une branche par défaut (par exemple
master
) n'existe pas encore pour votre télécommande. Vous devez donc d'abord créer unemaster
branche sur le serveur distant git (par exemple en créant unREADME.md
fichier par défaut ), puis essayez depush
toutes vos branches locales existantes en utilisant cette commande:la source
Pour moi, tout fonctionnait bien jusqu'à ce que Bitbucket change automatiquement sa politique aujourd'hui (21 avril 2020). Cela arrive pour s'aligner sur une nouvelle fonctionnalité récemment introduite aujourd'hui appelée Workspaces , donc je soupçonne que cela a quelque chose à voir avec cela.
Solution : j'ai (en tant qu'administrateur) suivi les instructions pour ajouter l'adresse e-mail aux utilisateurs dans l'interface utilisateur (l'e-mail que vous utilisez se trouve
git config --list
la source
La spécification d'une version node.js peut résoudre le problème comme
la source