blue271828's misc :-)

同一ドメインのリポジトリの認証情報を複数保存しているとGit接続に失敗する

環境

背景

ログインが必要なリポジトリにGitで接続する際、事前に認証情報を保存しておくと、

ユーザ名・パスワードを入力する手間を省くことができる。

git config --global credential.helper store

しかし、同一ドメインで複数の認証情報が登録している状態だと、次のような接続エラーが起こる。

$ git pull
remote: The project you were looking for could not be found.
fatal: repository 'https://example.com/example.git/' not found

対策

接続エラーが起こる理由は、どの認証情報を取り扱うべきかGitが判断できないため。

$ cat $HOME/.git-credentials
https://<USERNAME>:<PASSWORD>@example.com
https://<USERNAME>:<PASSWORD>@example.com

対策方法としては、プロジェクト配下のGit設定にドメイン+ユーザ名を設定する。

$ git config --local credential.https://example.com.username <YOUR USERNAME>

すると、Gitはどの認証情報を利用するべきか判断できるようになる。

$ git pull
Already up to date.

参考文献

Tags

#Ansible (3) #Bash (1) #Docker (1) #Git (2) #Hugo (2) #Molecule (1) #Python (1) #WSLtty (1) #アルゴリズム (4) #ビジネス用語 (1) #プログラミング (1) #位相空間論 (8) #初等数学 (20) #初等関数 (1) #実解析 (1) #幾何学 (3) #微分積分学 (18) #情報理論 (4) #抽象代数学 (14) #数理モデル (2) #数理論理学 (21) #機械学習 (3) #正規表現 (1) #測度論 (3) #特殊関数 (4) #確率論 (18) #組合せ論 (5) #統計学 (12) #線型代数学 (18) #複素解析学 (4) #解析学 (15) #論理学 (6) #順序集合論 (9)