git-configで設定されてる値によって結果が変わるようなスクリプトをなんとかしたい!
そんなときはそのコマンドのみ指定したconfigの値で実行する -c
オプションが便利です。
例えば、git管理下にある日本語のファイルに対してあれやこれや処理をしたい場合、
core.quotepathの設定によってはうまくいかないことがあったりします。
git ls-files | grep '何か日本語'
core.quotepath=true になっている場合うまくいかない!
そんなときは -c オプション!
git -c core.quotepath=false ls-files | grep '何か日本語'
core.quotepath=true になっていてもうまくいく!
まとめ
チームでの利用など他の人と共有するスクリプトで、configの値に左右されそうなものがあったらとりあえず
-c hoge
の指定をしておくと無用なトラブルが減らせるかもしれません!
ちなみに git config hoge
で設定できる書き方であればなんでもいけるらしいです。
おまけ
core.quotepath
: trueだとファイル名がquoteされるらしい。多分、falseにするとコンソールに日本語とか表示されると思っておけばおk。詳しくは下記
git-config
-cオプションについて詳しく知りたい方はこちら
git(1) Manual Page