GitLab: Sie können keine Commits für pushen. Sie können nur Commits pushen, die mit einer Ihrer eigenen verifizierten E-Mails committet wurden.

GitLab: Sie können keine Commits für pushen. Sie können nur Commits pushen, die mit einer Ihrer eigenen verifizierten E-Mails committet wurden.

Ich habe dieses seltsame Problem, bei dem ich ein Repository mit meinen Anmeldeinformationen geklont habe ( [email protected]). Aber ich kann die Änderungen nicht übertragen, da ich immer diese Meldung erhalte:

GitLab: You cannot push commits for '[email protected]' . You can only push commits that were committed with one of your own verified emails.

Das Problem besteht darin, dass ich beim Überprüfen der globalen Benutzer und der Repository-Benutzer Folgendes feststelle [email protected]:

Global (unten bestätigt meine korrekte Adresse):

git config  --global user.email
git config  --global user.name

Repository (unten bestätigt meine korrekte Adresse):

git config  user.email
git config   user.name

Was soll ich tun und was ist der Grund für dieses mysteriöse Mysterium?

Antwort1

Ich konnte das gleiche Problem mit diesem Git-Befehl beheben:

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

Ich habe zunächst versucht, mit der falschen E-Mail-Adresse einen Commit durchzuführen, aber selbst nachdem ich user.name und user.email git config --globalauf die richtigen Werte gesetzt hatte, erhielt ich immer wieder den gleichen Fehler wie oben: „Sie können keine Commits pushen für …“.

Die Lösung bestand darin, den Autor in Git zurückzusetzen – dann wurde der Push in Gitlab akzeptiert.

Als Referenz:https://github.com/git-tips/tips#revert-undo-a-commit-by-creating-a-new-commit

Antwort2

In meinem Fall gab es eine Committer-Einschränkung im Projekt auf GitLab. „Benutzer können nur Commits in dieses Repository pushen, die mit einer ihrer eigenen verifizierten E-Mails committet wurden.“ Da ich SSH auch mit meinem Computer konfiguriert habe, wurde meine Benutzer-E-Mail in der globalen Git-Datei mit der Adresse meines Computers aktualisiert, sodass Remote kein PUSH zuließ.

Sie finden dies unter Gitlab -> Einstellungen -> Repository -> Push-Regeln; deaktivieren Sie einfach diese Commit-Einschränkung und es wird funktionieren.

Antwort3

git commit --amend --reset-author --no-editändert nur den Autor im letzten Commit. Wenn Sie mehrere Commits haben, können Sie trotzdem nicht pushen.

Überprüfen Sie es mit git logund setzen Sie jedes Commit mit dem falschen Autor zurück, und führen Sie das Commit erneut aus.

Antwort4

Sie können die Push-Beschränkungen deaktivieren, sodass Sie nicht alle Commits durchgehen und die E-Mail ändern müssen.

Bildbeschreibung hier eingeben

verwandte Informationen