プロジェクトフォルダごとに設定した Git のコミットユーザ情報を確認する

プロジェクトごとに Git のコミットユーザを変える必要があり、各プロジェクトフォルダで以下のようにユーザを設定していたりする。

$ git config user.name "NeoLocal"
$ git config user.email "neo-local@example.com"
# この情報はプロジェクトフォルダ直下 ./.git/config に保存される

しかし、対象のプロジェクトにこの設定をしたのかどうか忘れてしまった時に、サラッと確認したかった。

$ git config --list --show-origin とすると、その設定がどのファイルに記載されているかも表示されるので、これで確認すると確実だろう。

$ git config --list --show-origin
file:/usr/local/git/etc/gitconfig    core.excludesfile=~/.gitignore
file:/usr/local/git/etc/gitconfig    core.legacyheaders=false
file:/Users/Neo/.gitconfig    user.name=NeoGlobal
file:/Users/Neo/.gitconfig    user.email=neo-global@example.com
file:.git/config    user.name=NeoLocal
file:.git/config    user.email=neo-local@example.com

実際はもっと多くの設定項目が出てくると思うが、上の例でいうと、

となる。

つまり、最後の file:.git/config でのユーザ設定がない場合は、プロジェクトフォルダで設定を上書きしていないということになる。

ユーザ情報に絞るなら grep を併用すれば良い。

# 「--list」は「-l」と省略可能
$ git config -l --show-origin | grep user.name

コレでコミットユーザの情報を簡単に確認できた。