GIT_SSH_COMMAND
が便利。
概要
環境変数を指定して起動してやると
git
コマンドの挙動を制御することが出来る。ssh
が絡む部分だとGIT_SSH
やGIT_SSH_COMMAND
やGIT_SSH_VARIANT
などがある模様。~/.ssh/config
やgitconfig
を弄ることが難しい場合や、環境に依存しないシェルスクリプトを書く場合などに役に立ちそう。
詳細
ssh
が絡む部分だと git fetch
や git pull
や git clone
や git push
あたりだろうが、僕は git fetch
で上手く動いてることしか確認していない。
GIT_SSH_COMMAND
が使えるのは 2.3 以降
Git 2.3 has been released を見るに 2.3 以降でないと使えないらしい。
使えない場合は GIT_SSH
の方が昔からあるので、それを使ったラッパースクリプトを書くやり方があるようだ。
使い所
-i
で秘密鍵を指定したり -F
で ssh_config
を指定したり -o
で好きなようにオプションを投げるような感じの使われ方が想定されているのだと思われる。
GIT_SSH_COMMAND="\
ssh \
-i /path/to/secret_access_key \
-F /path/to/ssh_config \
-o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no" \
git fetch origin
締め
git
も ssh
も毎日使ってるのに知らない便利機能が毎日出てきて凄い。