これまでの方法
gitで複数のユーザを切り替えるのにgit config --local
を使って設定していました。
この方法は、切り替え忘れはないのですが、新規にリポジトリをcloneする毎にgit config
を実行する必要がありました。
includeIfを使う方法
ghqと~/.gitconfig
のincludeIf
を使えば、初期設定以外何もしなくてもリポジトリ毎にuser.emailやuser.mailを切り替えて使うことができます。
ghqを使うと~/.ghq/gitサーバ名/ユーザ名/リポジトリ名
にcloneされます。
includeIf
を使って~/.ghq/gitサーバ名/
単位で、user.emailやuser.nameを設定します。
例えば、下記のように~/.gitconfig
に下記のように設定することで~/.ghq/bitbucket.org/mycompany/
以下にclone
されたリポジトリは、~/.gitconfig-mycompany
の設定をイングルードしてくれます。
git config --global
でメインで使うメールアドレスを設定し、特定のディレクトリだけは、別のメールアドレスを設定することが可能になります。
$ tail -2 ~/.gitconfig [includeIf "gitdir:~/.ghq/bitbucket.org/mycompany/"] path =~/.gitconfig-mycompany $ cat ~/.gitconfig-mycompany [user] email = me@mycompany