問題
弊社GitHub Enterprise(以下GHE)を導入してるんですが、自分は(もちろん)GitHubと併用しています。
で、大体の人はgit config --global
でuser.name
とuser.email
をGitHubで使ってるアカウントにしてると思います。
この設定のまま作業してるとたまに困るのが、GHEに置いてるリポジトリなのにuser.name
とuser.email
をグローバルのもの使ってしまい、contributeとかにいくらコミットしてても全然自分の名前が乗ってこない問題があります。
これはリポジトリのローカルで以下のようなコマンド打っておくと上記の問題を解決できます。
$ git config --local user.name 'YOUR NAME'
$ git config --local user.email 'your@example.com'
これでめでたく、GHEのcontributeとかにはちゃんと自分の名前が出てきます。
で、まあ毎回これ打っても良いんですが、わりと自分の名前とかメールアドレスを入れるの面倒だったんで、Goの練習がてら設定ファイルから一発でこれらの設定するコマンド作りました。
使い方
まずはインストールしてから、好きな場所に、config.toml
ってファイル作ってください。
name = "YOUR NAME"
email = "your@example.com"
まあ見れば分かりますが、これがgit config --local
で設定される名前とメールアドレスです。ちなみにconfig.toml
という名前は決めうちです。
次に
$ gitconfig-setter <設定したいリポジトリのパス> <config.tomlまでのパス(ファイル名はいらない)>
という風にコマンド打ってあげるとリポジトリのローカルにconfig.toml
で設定した名前とメールアドレスを設定してくれます。
8/10追記
書き忘れてたけど、それぞれリポジトリとconfig.toml
のパスを何も設定しない場合は、どちらもカレントディレクトリを見るようになっています。
最後に
どっちかというと、Goの習作って面が強いです。というか、これやるだけだったらシェルスクリプトで良いんじゃね?疑惑はあります。