LoginSignup
2
3

More than 5 years have passed since last update.

gitのコミッター設定をフォルダによって使い分ける

Last updated at Posted at 2019-03-18

皆さん、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
のようにフォルダによって自動的にコミッターの設定が切り替えられるのが確認できると思います。

これでコミット時に「やべ」とならずに済みますね

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3