カテゴリー
未分類

gitで直接アクセスできないリポジトリにプロキシを経由してアクセスする

gitでclone、push、pull をしようとしたとき、

以下のような問題が発生することがあります。

  • ネットワーク的にリモートリポジトリに到達できない
  • リモートリポジトリの対応しているプロトコルが、クライアントの対応しているプロトコルと合わない(sshのバージョンが違う、sslのバージョンが違う)

エラーの例

$ git clone ssh://xxx/xxx
Cloning into 'bs-ohkenhouse-system'…
no kex alg
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

クライアント側がCentOS5など、環境が古すぎて、今どきのgitリポジトリにアクセスできないときは、プロキシを経由してアクセスさせることができます。

プロキシはSquidなどでどこかに立てるとよいでしょう。

gitクライアント側で、プロキシを経由するように設定するには、以下のようにします。

$git config --global http.proxy http://proxy.example.com:8080
$git config --global https.proxy http://proxy.example.com:8080

これによって、ホームディレクトリにある ~/.gitconfigに下記が追加されます。

[http]
proxy = http://proxy.example.com:8080
[https]
proxy = http://proxy.example.com:8080

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です