Gitのコミット時メールアドレスをdirenvを使って切り替える
具体的にはメールアドレスをこういう風に使いわけたい
- GitHubの時にはプライベートの
- 会社のGitHub Enterpriseの時には会社の
Gitは環境変数GIT_AUTHOR_EMAIL
GIT_COMMITTER_EMAIL
を参照するのでこれをdirenvで変更することで切り替えが出来る。
ghqを使ってリポジトリを管理していると便利で、$GOPATH
以下が
├── git.yourcompany.com
│ └── orgA
│ └── repoB
└── github.com
└── tnmt
└── repoC
こんな感じになっていると思うので
- $GOPATH/git.yourcompany.com/.envrc
- $GOPATH/github.com/.envrc
にそれぞれ
export GIT_AUTHOR_EMAIL=foo@bar.org
export GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
のGIT_AUTHOR_EMAIL
のアドレスを変えたファイルを設置するとバッチリ?
ちなみにコミット時のユーザ名もGIT_COMMITTER_NAME
GIT_AUTHOR_NAME
で制御できる。COMMITTERとAUTHORの差異はよく分からない。