2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

環境変数でgitのプロキシ設定するなら Git Bashとコマンドプロンプトでやり方が違うよ

Last updated at Posted at 2020-02-15

概要

「Windowsで、コマンドプロンプトとGit Bashを同時に使かもしれない人」かつ「環境変数でgitのプロキシ設定する人」という狭い範囲向けの話。

結論

環境変数でgitのプロキシ設定するなら、

  • コマンドプロンプトは、setで環境変数の設定
  • Git Bashは、exportで環境変数の設定

ということを思い出す・・・もしくは、

一時的にproxyを有効_無効にしてgit cloneする方法 - Qiita

git clone <repository-url> -c http.proxy="http://<proxyserver>:<port>" -c https.proxy="https://<proxyserver>:<port>"

を使おう。

以下、詳細

詳細

コマンドプロンプト、Cmder、バッチファイルでは以下のようにしてました。

> set http_proxy=http://<proxyserver>:<port>
> set https_proxy=https://proxyserver>:<port>
> git clone <repository-url>

普段あまり使わないGit Bashを使ってみたら・・・

$ set http_proxy=http://<proxyserver>:<port>
$ set https_proxy=https://proxyserver>:<port>
$ git clone <repository-url>
Cloning into '<repository>'...
fatal: unable to access '<repository-url>': The requested URL returned error: 403

あら?cloneできない。

「[http経由の git コマンド(push,clone,fetch..)等がなんかうまく動かないときにデバッグする方法2」を試そう。

$ GIT_CURL_VERBOSE=1 git clone <repository-url> 
Cloning into '<repository>'...
* Couldn't find host <repository-host-server> in the _netrc file; using defaults
*   Trying <repository-host-server> ...
...略...
* Connected to <repository-host-server> (<ipaddress>) port 80 (#0)
> GET <repository-url>/info/refs?service=git-upload-pack HTTP/1.1
Host: <repository-host-server>
...略...
< HTTP/1.1 403 Forbidden
...略...
* Connection #0 to host <repository-host-server> left intact
fatal: unable to access '<repository-url>': The requested URL returned error: 403

HTTP/1.1 403 Forbiddenが返ってきてる。

設定したはずの<proxyserver>が全く登場してない。

setが効いてない?

Set an environment variable in git bash - Stack Overflow

You can combine the assignment with the export statement.
export HOME=c

Set an environment variable in git bash - Stack Overflow

(export if I am on Unix, or a simple set on Windows)

あ。Git「Bash」か。

あと、コマンドプロンプトは、"http://<proxyserver>:<port>"のようにダブルクオーテーションで囲むとエラーになるけど、

> set http_proxy="http://<proxyserver>:<port>"
> set https_proxy="https://proxyserver>:<port>"
> git clone <repository-url>
fatal: unable to access '<repository-url>': Unsupported proxy syntax in '<proxyserver>:<port>"'

Git Bashはエラーにならないよ。

$ export http_proxy="http://<proxyserver>:<port>"
$ export https_proxy="https://<proxyserver>:<port>"
$ git clone <repository-url>
Cloning into '<repository>'...
remote: Counting objects: 50, done.
remote: Compressing objects: 100% (45/45), done.
remote: Total 50 (delta 13), reused 0 (delta 0)
Unpacking objects: 100% (50/50), done.
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?