GIT_SSH_COMMAND が便利。

概要

  • 環境変数を指定して起動してやると git コマンドの挙動を制御することが出来る。

  • ssh が絡む部分だと GIT_SSHGIT_SSH_COMMANDGIT_SSH_VARIANT などがある模様。

  • ~/.ssh/configgitconfig を弄ることが難しい場合や、環境に依存しないシェルスクリプトを書く場合などに役に立ちそう。

詳細

ドキュメントここ を読めば良い。

ssh が絡む部分だと git fetchgit pullgit clonegit push あたりだろうが、僕は git fetch で上手く動いてることしか確認していない。

GIT_SSH_COMMAND が使えるのは 2.3 以降

Git 2.3 has been released を見るに 2.3 以降でないと使えないらしい。

使えない場合は GIT_SSH の方が昔からあるので、それを使ったラッパースクリプトを書くやり方があるようだ。

使い所

-i で秘密鍵を指定したり -Fssh_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

締め

gitssh も毎日使ってるのに知らない便利機能が毎日出てきて凄い。