今までMacのGitで経験した環境トラブル集
職場に新メンバーが加わった時とかに、Gitで色々なトラブルが起きました。
今回は、私が遭遇したトラブルをまとめてみました。
随時更新していこうと思います。
リモートリポジトリのパスワード関係
リモートリポジトリのパスワード入力を間違えていた。
基本的なことなのですが、入力を間違ているというパターンが意外とあります。
間違って入力したパスワードを、MacのKeyChainが記憶してしまっていた。
上記の件と関係するのですが、間違って入力したリモートリポジトリのパスワードを、KeyChainがキャッシュしてしまい、パスワード入力ができなくなってしまうというパターンがありました。
これは、KeyChainのキャッシュを削除すれば、パスワード入力ができるようになります。
プロキシ関係
Proxy配下のGitを作業していると、何かとトラブルが起きます。
Bashの環境変数に, http_proxy , https_proxy , no_proxy の設定ができていなかった。
コンソールで export コマンドを実行して満足して、 .bashrc にちゃんと追加できていなかったというパターンです。
基本的なことですが、意外とこれをやる人が多いです。
.bashrc か .bash_profile に環境変数 http_proxy , https_proxy , no_proxy を設定しましょう。
.bashrc に設定すれば、自動で .bash_profile にも読み込まれますので、 .bashrc に書けば十分です。
https_proxy のスキームを勘違いして https:// にしていた。
http_proxy と https_proxy は基本的には同じ値を入れることになるのですが、それを勘違いして、 https_proxy の方だけURLの先頭を https:// に変更している人がいました。
プロキシのURLにユーザー名・パスワードを追加するのを忘れていた。
認証プロキシの場合、プロキシに対するユーザー名とパスワードを設定する必要があります。そのため、環境変数の値はこんな風になります。
http://(ユーザー名):(パスワード)@(ホスト):(ポート)
git config --global に http.proxy , https.proxy の設定ができていなかった。
どうやら環境変数だけでは不足で、 git config --global にも設定が必要のようです。
git config --local で http.proxy , https.proxy の設定を上書きしていた。
git config --local を使えば、リポジトリ毎にGitの設定ができますが、この設定は git config --global よりも優先されるため、ここに http.proxy , https.proxy を間違った値で設定すると、うまく接続できなくなります。
Gitのバージョンが古くて no_proxy に対応していなかった。
同一LAN内のリモートリポジトリに接続する場合、プロキシの設定が邪魔をします。
そのため、 no_proxy で、プロキシ設定から除外したいドメインを指定する必要があります。
Gitのバージョンが古くて、この no_proxy に対応していなかったということがありました。
no_proxy の値にスペースが混入していた。
export no_proxy=localhost, 127.0.0.1
のようにスペースが入ってしまっていたパターンがありました。
export no_proxy=localhost,127.0.0.1
のようにスペースをなくす必要があります。
メインシェルをZshに変えた際に、Zshの環境変数に, http_proxy, https_proxy, no_proxy を設定することを忘れていた。
環境変数というのはどうやらシェル毎に持っているものらしく、シェルがBashではないなら、 .bashrc の設定は継承されないようです。
Zshの場合は .zshrc に設定します。私は .zshrc から .bashrc を呼ぶようにしました。