433 Stimmen

Git-Fehler beim Versuch zu pushen -- Pre-Receive-Hook abgelehnt

Wenn ich versuche, eine von mir übertragene Änderung zu pushen, erhalte ich folgende Fehlermeldung ...

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'

Was ist hier los?

238voto

Alexander Gladysh Punkte 36809

Sie sollten denjenigen, der das Repo verwaltet, fragen git@mycogit/cit_pplus.git .

Ihre Übertragungen wurden von der pre-receive Haken dieses Repos (das ist ein vom Benutzer konfigurierbares Skript, das eingehende Commits analysiert und entscheidet, ob sie gut genug sind, um in das Repository aufgenommen zu werden).

Es ist auch eine gute Idee, diese Person zu bitten, den Haken zu aktualisieren, damit die Gründe für die Ablehnung gedruckt werden.

Wenn Sie selbst der Maintainer sind, dann sieht es so aus, als ob Sie ein Problem mit Ihrer Einrichtung auf der Serverseite haben. Bitte teilen Sie uns dann mehr Informationen mit.

120voto

ozkary Punkte 2178

Die Dateigröße ist wichtig. Es gibt eine Grenze von ~120MB für eine einzelne Datei. In meinem Fall hatte .gitignore unter Verwendung von Visual Studio die Datei aufgelistet, aber die Datei wurde trotzdem übertragen. Mit dem git cli können wir genauere Informationen über den Fehler erhalten.

Die Ablehnung des Vorempfangshakens ist auf die große Datei zurückzuführen. Im Grunde genommen wird der Push validiert.

Um das Problem zu lösen, habe ich den letzten Commit mit entfernt:

git reset --soft HEAD~1

Dann habe ich die Datei von der Übertragung ausgeschlossen.

Anmerkung: Verwenden Sie HEAD~N, um zu einer Anzahl von N früheren Übertragungen zurückzugehen. (d.h. 3, 4) Verwenden Sie immer den Schalter --soft, um Änderungen im Ordner

Ich hoffe, es hilft.

107voto

ThiefMaster Punkte 297146

Ich würde wetten, dass Sie einen nicht-schnellen Vorwärtsstoß versuchen und der Haken diesen blockiert. Wenn das der Fall ist, führen Sie einfach git pull --rebase vor dem Pushen, um Ihre lokalen Änderungen auf die neueste Codebase zu übertragen.

66voto

Dave de Jong Punkte 611

In meinem Fall erhielt ich diese Meldung, weil der Zweig in GitLab als "Geschützt" markiert war.

37voto

yong Punkte 359

Dies kann daran liegen, dass Sie nicht die Zugriffsrechte hatten, um eine Übergabe an einen Zweig wie master . Sie können den Betreuer bitten, Ihnen das Recht zu geben, Commits zu pushen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X