2015-09-20 7 views
6

でエラー「あなたが誰であるかを教えてください」、私はエラーを取得する:バイパスリポジトリにコミットしようとする際にはgit

$ 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 '[output redacted]') 

明白な解決策は、しかし、私は、出力のgit configオプションを実行することですそれをしたくない。

問題のコンピュータは特定の人物に属していませんが、共有コンピュータです。したがって、各コミットは異なるユーザーになります。

私はこれを回避し、作成者をグローバルではなくコミットするように設定しますか?

+2

'--global'オプションなしで' git config'を実行すると、その特定のクローンに対してのみ作成者を設定します。 – approxiblue

+1

@approxiblue複数の人が同じクローンに追加する場合はどうなりますか? –

+2

複数のコミッターのために1つのクローンを持つことは、とにかく疑わしい練習です。なぜあなたはそれをしたいのですか? – tripleee

答えて

2

あなたは--authorフラグを使用することができます。

$ git commit --author="A U Thor <[email protected]>" 
+0

私は作者とコミッターが違うことを聞いたことがありますか? –

+0

これは、configが1つの名前で、作者が変更された場合に起こります。http://i.imgur.com/d933jHh.png –

+0

それはなぜイメージですか?はい、作者とコミッターは異なります。 – tripleee

6

別のオプションは、現在のコマンドに設定PARAMTERを渡すために-cフラグを使用することです。あなたのケースでは

git -c user.email="[email protected]" -c user.name="Your Name" commit ...

-c値は、他のデフォルト値(設定および設定解除パラメータ)をオーバーライドします。すべての-cオプションは、コマンド名commitの前に来る必要があることに注意してください。

+0

これはうまくいきましたが、私は 'user.email =" [email protected] "と' user.name = "あなたの名前"(記号=に気づく)の構文を使用しなければなりませんでした。 – sffc

+0

もちろん、私の間違い。入力中にそれを逃した:-) – CodeWizard

関連する問題