Fehler in Git: Du kannst nur deine eigenen Commits in dieses Repository pushen

Lesezeit: 4 Minuten

Benutzer-Avatar
Oleg

Gestern fing ich an, Fehler zu erhalten, als ich versuchte, mein Commit in das Repo zu verschieben. Wie kann ich das beheben? Und ich bin kein Administrator dieses Repos.

remote: You can only push your own commits in this repository
remote: Commit commitName was committed by <myName> <[email protected]>
To ssh://bitbucket.awg.ru/repo
 ! [remote rejected] branchName -> branchName (pre-receive hook declined)
error: failed to push some refs to 'ssh://[email protected]/repo'

Aktualisieren

Danke an alle, das Problem ist gelöst. Das Problem lag auf der Bitbucket-Seite, der Administrator hat einige Optionen geändert. Jetzt ist alles gut.

  • Sind einige der Commits, die Sie pushen möchten, von jemand anderem als Ihnen verfasst worden?

    – Lasse V. Karlsen

    19. Oktober 2018 um 7:58 Uhr

  • Nein, alle Zusagen wurden von mir gemacht.

    – Oleg

    20. Oktober 2018 um 8:32 Uhr

  • Wissen Sie, welche Einstellungen sie speziell geändert haben?

    – Rotail

    7. April um 21:08 Uhr

Benutzer-Avatar
Oleg

Danke an alle, Problem ist gelöst. Das Problem lag auf Bitbucket-Seite, der Administrator hat einige Optionen geändert. Jetzt ist alles gut.

AKTUALISIEREN

Laut @Oleg, der die Frage gestellt hat. Das Problem tritt im Allgemeinen aufgrund eines Bitbucket-Hooks auf. Dieser Hook lehnt jeden Push ab, der einen Commit enthält, der nicht von dem Benutzer festgeschrieben wurde, der auf den Server pusht.

Um das Problem zu lösen:

  • Sie müssen Administratorzugriff auf das Repository auf dem Bitbucket-Server haben
  • Gehen Sie zum Repository auf dem Server
  • Dann ⚙ Repository-Einstellungen in der Seitenleiste
  • Auswählen Haken
  • Deaktivieren Bestätigen Sie Committer Haken
  • Du bist fertig

  • Dies ist jedoch nur eine Lösung, wenn Sie dies wirklich deaktivieren möchten. Die Überprüfung des Committers ist eine gute Sicherheitsfunktion von Bitbucket. Stellen Sie in diesem Fall Ihre globalen Einstellungen korrekt ein. Dies ist der bessere Weg, es zu tun.

    – Christian Müller

    27. Juni 2020 um 8:51 Uhr

Sie müssen Ihre Identität festlegen, bevor Sie sie auf Bitbucket übertragen

git config --global user.email "Your Email"
git config --global user.name "Your Name"
git push origin <branch-name>

  • Identität ist eingestellt, und bis gestern war alles ok.

    – Oleg

    19. Oktober 2018 um 7:31 Uhr

  1. Gehen Sie zu Ihrem Repo-Browser und überprüfen Sie Ihren Benutzernamen und Ihre E-Mail-Adresse in Ihrem Profil (obere rechte Ecke).

  2. Aktualisieren Sie in Git Bash Ihre Details gemäß Ihrem Git-Webprofil git config –global user.email “[email protected]” git config –global user.name “USERNAME”

  3. Sie müssen die Festschreibung rückgängig machen und dann wiederholen, nachdem Sie Ihre Benutzerdetails in Schritt 2 geändert haben

  4. Pushe die Änderungen git push

Benutzer-Avatar
eeijlar

Angenommen, Sie haben die Git-Konfiguration bereits gemäß der @Manish R-Antwort durchgeführt, überprüfen Sie dann, ob Bitbucket den Verify Committer-Hook nicht erzwungen hat. Siehe Projekt -> Einstellungen -> Hooks

Geben Sie hier die Bildbeschreibung ein

Ich hatte das gleiche Problem, als ich mit verschiedenen Projekten in meiner Büromaschine arbeitete. Git ist global mit meiner Büro-E-Mail „[email protected]“ konfiguriert. Das andere ist ein Open-Source-Projekt des GitLab-Repositorys, das von meinem Gmail-Konto authentifiziert wird.

Push für das GitLab-Repository funktionierte nicht und zeigte den gleichen Fehler wie oben. Der Grund war, dass der Autor der Commit-Nachricht aus meiner Büro-E-Mail stammte.

Für mich hat es funktioniert, einen anderen Committer-Namen und eine andere E-Mail-Adresse pro Repository beizubehalten. Ich habe die modifiziert Benutzer Email für das GitLab-Repository. Dies lässt einfach das Flag –global weg. Geben Sie hier die Bildbeschreibung ein

Jetzt werden alle Ihre Commits von dem neuen Autor stammen, den Sie für das Repository festgelegt haben, wodurch der obige Fehler verhindert wird.

Benutzer-Avatar
Roger Pérez

Sie müssen den Commit mit der falschen E-Mail-Adresse rückgängig machen und dann die Git-Konfiguration wie unten beschrieben aktualisieren. Wenn Sie sich mehrmals verpflichtet haben, müssen Sie möglicherweise Rosinen auswählen und dann festschreiben, aber erst, nachdem Sie diese Schritte ausgeführt haben:

# remove "--global" if you only want to update it for the local repo
git config --global user.email "Your Email"
git config --global user.name "Your Name"

Machen Sie das neue Commit und dann sollten Sie pushen können.

Benutzer-Avatar
Mahesh Nanayakkara

Wenn das Problem auch nach dem Einstellen weiterhin besteht Benutzer Email und Nutzername? Möglicherweise müssen Sie Ihr Commit-Autorenprotokoll ändern, damit es mit diesem Benutzer übereinstimmt. Überprüfen Sie einfach das Git-Protokoll, bevor Sie es unter cmd ausführen.

git commit --amend --reset-author --no-edit

1179630cookie-checkFehler in Git: Du kannst nur deine eigenen Commits in dieses Repository pushen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy