Gitのコミット時メールアドレスをdirenvを使って切り替える

git 2016-01-26

具体的にはメールアドレスをこういう風に使いわけたい

  • 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の差異はよく分からない。

Tags

Shinya Tsunematsu

a Software Engineer loves tech, curry, music, fitness.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.