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.name
Zeile.
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.name
Wert beantwortet , muss repariert werden.
Aus den Kommentaren:
Wenn ich die Dateien "lokal", "global" und "Einstellungen" untersuche, kann ich nur eine user.name
in global sehen.
Aber git config --list
und git config --get-all user.name
gibt 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 value
wie in der Antwort von mb21 verwenden .
user.name
in global sehen. Abergit config --list
undgit config --get-all user.name
gibt es mir zweimal. Abergit config --local --get-all user.name
gibt keine.git config --global --get-all user.name
gibt einen einzigen.git config --system --get-all user.name
gibt keine. Seltsam!?