1. ホーム
  2. git

[解決済み] user.name のキーに複数の値が指定されました。

2023-03-07 15:23:01

質問

gitアカウントのuser.nameを設定しようとすると、なぜか「"More than one value for the key user.name"」というエラーが表示されます。 どうすれば単一の名前に設定できますか?

どのように解決するのですか?

更新情報(2012年12月)

git1.8.1rc1 は異なる動作をするようになりました。

"git config --get"では、同じ設定ファイルに同じ変数が複数定義されていることをエラーとして診断していましたが は内部設定ロジックで使用されている "最後の1つが勝つ" のルールを適用するようになりました。 .

厳密に言えば、これはAPIリグレッションかもしれませんが、実際には誰も気づかないだろうと予想されます。


オリジナルの回答(2010年11月)

git configのmanページに記載があります。

変数名は大文字小文字を区別せず、英数字と-のみ使用可能です。

与えられた変数に複数の値が存在する可能性があります; その場合、その変数は多値であると言います .

実は、このようなコンフィグ設定(複数の値が可能)は マルチバー

Jefromi が提案するように、3つの設定ファイルのうち、どのファイルに複数個の user.name の行があるか確認してください。

このように複数の値を問い合わせることができます。

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)

複数の設定ファイルに答える1つの user.name の値を修正する必要があります。


コメントより

<ブロッククオート

ファイル "local", "global" および "settings" を調べると、1つだけ見ることができます。 user.name をグローバルで見ることができます。

しかし git config --listgit config --get-all user.name はそれを2回与える

で述べたように ここで Git 2.8 (2016年3月) を使って を使用すると、( すべて の設定を見ることができます。

git config -l --show-origin

重複する設定がどこにあるか(ローカル、グローバル、システム)を確認したら、次は git config [--local/--global/--system] --replace-all key value のように mb21 's 答え .