背景
自作したアプリを社内gitサーバに配置して展開することがあった。
git実行時にproxyを経由するためにはgit config --global http.proxy <proxy_url>
を実行すれば良い(gitでプロキシを設定 - Qiita)が、どんな宛先に対してもproxyを通そうとするため、今回のケースのように社内にあるgitサーバへアクセスする場合には困ることになる。
バージョンが新しめのgitなら環境変数no_proxyを使う(Gitがいつの間にかno_proxyに対応してた - Qiita)、もしくは宛先ごとにproxyの設定を変更する(gitのproxy設定をリポジトリごとに変える方法 - Qiita)ことでproxyを経由しないことはできるが、両方とも他者の環境・設定を編集することになるため好ましくない。
そこで コマンドライン引数によってproxyを使わないようにする 方法を調べた。
方法
git clone
には--configまたは-cオプションが存在する。
このオプションを使いhttp.proxyやhttps.proxyに空白を与えgit clone
を実行することでproxyを使わないように仕向けることができるようだ。
git clone -c http.proxy="" <repository>
感想
上記方法は、他の方の環境に手を加える必要がない点、また上記コマンドの場合コピペしてもらうだけで実現できる点が好ましいと思った。
(※ 別の設定の影響等で動作しただけかもしれないので、同じように実行して動かない方がいればコメントください。)