Update (Dezember 2012)
git1.8.1rc1 funktioniert jetzt anders:
"git config --get" wird verwendet, um das Vorhandensein mehrerer Definitionen derselben Variablen in derselben Konfigurationsdatei als Fehler zu diagnostizieren. Jetzt wird jedoch die von der internen Konfigurationslogik verwendete Regel "Last One Wins" angewendet .
Genau genommen kann dies eine API-Regression sein, aber es wird erwartet, dass dies in der Praxis niemand bemerken wird.
Ursprüngliche Antwort (November 2010)
Die git config Manpage erwähnt:
Die Variablennamen unterscheiden nicht zwischen Groß- und Kleinschreibung und es sind nur alphanumerische Zeichen und - zulässig.
Es kann mehr als einen Wert für eine bestimmte Variable geben. Wir sagen dann, dass die Variable mehrwertig ist .
Tatsächlich werden solche Konfigurationseinstellungen (mit mehreren möglichen Werten) als Multivar bezeichnet
Wie Jefromi vorschlägt, sehen Sie in welcher der 3 Konfigurationsdateien mehr als eine user.nameZeile.
Sie können mehrere Werte wie folgt abfragen:
git config --local --get-all user.name #local repo git config file)
git config --global --get-all user.name #user config file)
git config --system --get-all user.name #system git config file)
Die eine Konfigurationsdatei, die mehr als einen user.nameWert beantwortet , muss repariert werden.
Aus den Kommentaren:
Wenn ich die Dateien "lokal", "global" und "Einstellungen" untersuche, kann ich nur eine user.namein global sehen.
Aber git config --listund git config --get-all user.namegibt es mir zweimal
Wie ich hier mit Git 2.8 (März 2016) erwähne , können Sie Folgendes verwenden (um alle Einstellungen anzuzeigen:
git config -l --show-origin
Wenn Sie sehen, wo sich die doppelte Einstellung befindet (lokal, global, System), können Sie sie git config [--local/--global/--system] --replace-all key valuewie in der Antwort von mb21 verwenden .
user.namein global sehen. Abergit config --listundgit config --get-all user.namegibt es mir zweimal. Abergit config --local --get-all user.namegibt keine.git config --global --get-all user.namegibt einen einzigen.git config --system --get-all user.namegibt keine. Seltsam!?