git-configのConditional includesでユーザ情報を切り替える
2017-08-05 / Git
会社のPCで、githubからcloneしてきたリポジトリには、個人のメールアドレスを使用するように設定するんだけど、たまに設定ミスってて会社のメールアドレスでコミットすることがある。別に弊害はないんだけど、あまりうれしくない。
git 2.13 から提供された機能にConditional includes というのがあって、条件に応じて設定ファイルを読み込むことができるようになっている。
この機能を使用して、コミット時のユーザー情報を切り替えるように設定した。
設定方法
gitdirがどこにあるか、で設定を変更できるらしい。
; include for all repositories inside $HOME/to/group
[includeIf "gitdir:~/to/group/"]
path = /path/to/foo.inc
今はGOPATHを ~/projects
に設定しているので、
会社のコード:~/projects/src/gitlab.syanai/projectA/repositoryA
個人のコード:~/projects/src/github.com/kawaken/repository
のような形でリポジトリが配置されている。
~/projects/src/github.com
配下のリポジトリはすべて個人のメールアドレスを使用するように設定する。
$HOME/.gitconfig
[user]
name = Kentaro Kawano
email = [email protected]
[includeIf "gitdir:~/projects/src/github.com/"]
path = .gitconfig.github
$HOME/.gitconfig.github
[user]
email = [email protected]
これでうまくできた。