WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

dotfilesのリポジトリに~/.gitconfigを追加している場合、gitのユーザ名やメールアドレスの設定は共有したくない

   

問題

標題のようなことをやりたい。
理由としてはdotfilesのリポジトリを会社のPCでも使う場合は、コミットをするときにユーザ名やメールアドレスに会社名が入ってしまうので、それを避けたいため。

具体的には下記のようにグローバルにユーザ名とメールアドレスを設定していると、~/.gitconfigにその設定が保持され、全gitリポジトリでこの設定が用いられる。

git config --global user.name 'Your Name Here'
git config --global user.email user@domain.tld

この設定が会社のメールアドレスだと個人で持ってるリポジトリ(dotfilesなど)でコミットすると会社のメールアドレスがログに残るので不都合と成る。その逆の同様。

解決策

結論からいえばリポジトリごとに設定を行っておくだけで解決できる。Stack Overflowに載ってた。

git – Can I specify multiple users for myself in .gitconfig? – Stack Overflow

リポジトリごとに設定を行えば、それがグローバルでの設定値より優先されるのでこの振る舞いを利用すればOK。

$ cd /path/to/git_repository
$ git config user.email 'foobar@linuxserver.jp'

この設定は.git/configに保持される。
`git config –edit`でエディタを使って編集することもできる。

これで解決。

 - Git ,