新しいアップデート(2016年2月、git 2.8用)
git 2.8(2016年3月)は新しいソリューションを追加します:
Dan Aloni()によるcommit 4d5c295(2016年2月6日)を参照してください。
支援者:Eric Sunshine()。Jeff King()によるcommit 59f9295(2016年2月4日)
を参照してください。
支援者:Eric Sunshine()。( Junio C Hamanoによってマージされました---コミットc37f9a1、2016年2月17日)da-x
sunshineco
peff
sunshineco
gitster
ident
:推測されるべきでないuser.useConfigOnly
場合にブール値を追加ident
以前は次のようでした。
git config --global user.email "(none)"
user.email
人々が各リポジトリに設定することを強制するための実行可能な方法でした。
これは、複数の電子メールアドレスを持ち、クローンごとに異なる電子メールアドレスをターゲットにしている場合に役立ちました。これは、user.email
リポジトリごとの構成で構成が正しい電子メールアドレスに設定されていない限り、gitがコミットを作成できないためです。
ただし、最近の変更である19ce497(ident
:偽のdefault_emailのフラグを保持、2015年12月10日はgit 2.6.5、2016年1月)は、値が何であれ、明示的に構成されたものは偽でuser.email
はないと宣言しました。ハックは機能しなくなりました。
新しい構成変数を追加して、同じ機能を提供しますuser.useConfigOnly
。この変数を設定する場合、ユーザーはuser.email構成を明示的に設定する必要があります。
したがって、2016年3月とgit 2.8から、次のようにします。
git config --global user.useConfigOnly true
新しいリポジトリはすべて、ローカルファイルでuser.email
のみ検索されます。また、ローカルのgit configに
何も見つからない場合、コミットは続行されません。.git/config
user.email
git 2.9(2016年6月)でさらに拡張されることに注意してください。
Marios Titas( ``)によるcommit d3c06c1、commit 734c778(2016年3月30日)を参照してください。(濱野純雄による合併---コミットe7e6826、 2016年4月29日)
gitster
ident
:useConfigOnly
名前/メールの自動検出前に確認してください
が設定されている場合user.useConfigOnly
、名前や電子メールを自動検出しようとしても意味がありません。
自動検出により、偽の名前が生成され、エラーメッセージが表示される場合もあります。
ident
useConfigOnly
:エラー時に「教えてください」というメッセージを表示します
user.useConfigOnly
説明の少ないエラーメッセージを使用して、ユーザーが構成変数を無効にしてこのエラー状態を回避することを思いとどまらせます。代わりにuser.nameまたはuser.emailを設定することをお勧めします。
したがって、代わりに:
user.useConfigOnly set but no name given
user.useConfigOnly set but no mail given
次のように表示されます。
no name was given and auto-detection is disabled
no email was given and auto-detection is disabled
元の回答(2012年9月)
「 pre-commitフックを使用して特定の作成者によるgitcommitを停止する」のように、次の場合にチェックするデフォルトのpre-commitフックを定義できます。
git config --local user.email
空かどうか。
空の場合:exit 1
作成するすべてのリポジトリでそのデフォルトフックを使用していることを確認するには、「デフォルトのgitフックの変更」を参照してください。これは、「 gitフックを共有する
」で説明されているものと同様のアプローチです。