git で「特定のサイトのみ proxy を通さない」設定

なんかちょっとハマったんだけど、 例によってちゃんと調べてないので鵜呑みにはしないで欲しいw

例えば

  • proxy の内側にいる
  • 普段は proxy の内側にあるオンプレミスの git サーバーを使ってる
  • 時々 GitHub にアクセスしたい

みたいなときに

git config --global http.https://github.com/.proxy http://proxy.foo.com:port

として ~/.gitconfig が

[http "https://github.com/"]
  proxy = "http://proxy.foo.com:port"

となって [http] に対する指定がない状態だと上手く動かないケースがあるようだ。 加えて

[http]
  proxy = ""

があってもダメみたい。 あまり悩む余裕もなかったのと、 オンプレミスの git サーバーが今のところ1個しかないので、

[http]
  proxy = "http://proxy.foo.com:port"

[http "オンプレミスのURL"]
  proxy = ""

という書き方にして逃げたんだけど、 どうも釈然とはしないな…。