ksaitoの日記

日々試したことの覚え書き

git configで複数のユーザを切り替える

これまでの方法

gitで複数のユーザを切り替えるのにgit config --localを使って設定していました。

この方法は、切り替え忘れはないのですが、新規にリポジトリをcloneする毎にgit configを実行する必要がありました。

includeIfを使う方法

ghq~/.gitconfigincludeIfを使えば、初期設定以外何もしなくてもリポジトリ毎に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