Warum erlaubt Git mir nicht, auch nach der Konfiguration ein Commit durchzuführen?

83

Diese Frage scheint ein Duplikat zu sein, ist es aber wirklich nicht. Nur ein kleiner Unterschied, der sich immer wieder wiederholt. git sagt mir immer wieder: "Bitte sag mir, wer du bist", auch nachdem ich es eingerichtet habe. Wenn ich renne git commit, bekomme ich das ...

$ git commit

*** Please tell me who you are.

Run

git config --global user.email "[email protected]"

git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'Obby@ObbyWorkstation.(none)')

Aber wenn ich renne git config --global -l, gibt es mir alle meine Details ...

$ git config --global -l
user.name=myname
[email protected]
http.proxy=proxy.XX.XX.XX:XXXX

Ich habe meinen Namen, meine E-Mail-Adresse und meinen Proxy geändert, aber sie werden angezeigt, wenn ich den Befehl ausführe. Selbst in der .gitconfig-Datei kann ich sehen, dass die Werte festgelegt sind. was könnte das fehlende sein, weil ich überhaupt nicht begehen kann. Jedes Mal fragt es mich, wer ich bin?

@ Sheu hat mir etwas erzählt, das ich geändert habe, aber immer noch das gleiche Problem. wenn ich setze --local, git commitstellt mir immer noch die gleiche frage. Dies ist die Ausgabe

$ git config --local -l
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
user.name=myname
[email protected]
Obby
quelle
Vielleicht ist dieser Beitrag eine Antwort auf Ihre Frage stackoverflow.com/questions/2936652/…
Sumit Munot
@ SumitMunot, ich konnte nichts Nützliches finden ... Ich habe nur den Hauptzweig und keinen anderen
Obby
3
@SumitMunot Wenn Sie Änderungen vorschlagen, fügen Sie bitte keine Dinge wie "Bitte Hilfe" und "Danke im Voraus" hinzu. Solche Sätze werden nicht empfohlen, da sie der Frage unnötigen Lärm hinzufügen. Außerdem ändern Sie aktiv Titel in Fragen, aber in vielen Fällen fehlt das Verb "Ist". Bitte stellen Sie sicher, dass Sie die richtige Grammatik verwenden, wenn Sie Änderungen vorschlagen.
Psubsee2003
5
Sollte es nicht user.emailin der globalen Konfiguration sein (beachten Sie das E in der E- Mail)?
Lumen

Antworten:

166

Das ist ein Tippfehler. Sie haben versehentlich user.mailohne e eingestellt . Beheben Sie dies, indem Sie user.emailin der globalen Konfiguration mit einstellen

git config --global user.email "[email protected]"
Lumen
quelle
danke ... das konnte ich gar nicht erkennen. das Problem, den Aufwärtspfeil zu drücken, anstatt neu zu schreiben
Obby
Verdammt! Den gleichen Fehler gemacht.
Ach
Entschuldigung, aber ich konnte nicht verstehen, wo ich einstellen oder bearbeiten muss?
cSharma
1
5 Jahre später und ich habe den gleichen Fehler gemacht!
Jalal
Unglaublich, wie ein Tippfehler so viel Zeit verschwenden kann! danke Kumpel!
Jaycee
10

Sie legen die globalen Git-Optionen fest, aber für die lokale Kasse sind möglicherweise Überschreibungen festgelegt. Versuchen Sie es erneut mit git config --local <setting> <value>. Sie können in der .git/configDatei in Ihrer lokalen Kasse nachsehen , welche lokalen Einstellungen die Kasse definiert hat.

sheu
quelle
Sie können Ihre Git-Daten in der Systemsteuerung löschen: Systemsteuerung → Benutzerkonten → Anmeldeinformations-Manager → Windows-Anmeldeinformations-Manager. Geben Sie es dann mit dem richtigen Benutzernamen und Passwort erneut ein. Dies ist die einzige Option, die für mich funktioniert hat.
Sophie Cooperman
3

Haben Sie eine lokale user.nameoder user.emaildie globale?

git config --list --global | grep user
  user.name=YOUR NAME
  user.email=YOUR@EMAIL
git config --list --local | grep user
  user.name=YOUR NAME
  user.email=

Wenn ja, entfernen Sie sie

git config --unset --local user.name
git config --unset --local user.email

Die lokalen Einstellungen sind pro Klon, daher müssen Sie die lokalen user.nameund user.emailfür jedes Repos auf Ihrem Computer deaktivieren.

Nate
quelle
0

Ich hatte dieses Problem auch nach dem richtigen Einstellen der Konfiguration. git config

In meinem Szenario wurde der Befehl git über den Supervisor (unter Linux) ausgegeben. Beim weiteren Debuggen las der Supervisor die Git-Konfiguration nicht aus dem Home-Ordner. Daher musste ich die Umgebungsvariable HOME in der Supervisor-Konfiguration festlegen, damit die Git-Konfiguration korrekt gefunden werden kann. Es ist seltsam, dass der Supervisor die Git-Konfiguration nicht nur anhand des in der Supervisor-Konfiguration (/etc/supervisor/conf.d) konfigurierten Benutzernamens finden konnte.

Neugieriger
quelle