皆さん、git使ってますか?
業務で使ってますか?個人開発で使ってますか?
業務のリポジトリには会社の名前とアドレス、個人開発のリポジトリには個人アカウントとアドレスのように
リポジトリによって、gitのコミッターを使い分ける必要があること、多いですよね。
これ、毎回リポジトリによってgit configで設定するのが消耗するのと、
設定し忘れたりすることが多いので、フォルダごとに自動的にコミッター設定を切り替えられるようにしました。
まず最初に
今回は業務用のリポジトリ一覧が格納されてるフォルダを
~/work/
個人開発用リポジトリ一覧が格納されてるフォルダを
~/private/
として話をします
業務用のコミッター設定
$ echo "[user]
name = work_user_name
email = work_email@work.com
" >> ./gitconfig_work
で、業務用で使うユーザ、emailアドレスの設定ファイルを作ります。
name、emailの値は自分の設定に置き換えてください
個人開発用のコミッター設定
同様に個人用も作成
$ echo "[user]
name = private_user_name
email = private_email@work.com
" >> ./gitconfig_private
特定のフォルダによって使い分けるようにする
git config --global -e
でグローバル設定を開きます
特に何も設定されていなければ
[user]
name = hoge
email = hoge@fuga.com
[core]
・・・
のような感じになっていると思います。
これを
[user]
name = hoge
email = hoge@fuga.com
[includeIf "gitdir:~/work/"]
path = ~/.gitconfig_work
[includeIf "gitdir:~/private/"]
path = ~/.gitconfig_private
[core]
・・・
のように追記します。
なんのことはなく、
ローカルリポジトリのパスがgitdir:XxxxのXxxxに含まれていたら、
pathの値に設定しているgitのUserの値を使うようにすることができます。
試しに
cd ~/work/hoge_repos/; git config user.name
とやれば
work_user_name
cd ~/private/fuga_repos/; git config user.name
とやれば
private_user_name
のようにフォルダによって自動的にコミッターの設定が切り替えられるのが確認できると思います。
これでコミット時に「やべ」とならずに済みますね