我已经使用Git有一段时间了,但是不停地要求输入密码让我感到非常烦恼。
我使用的是Mac OS X和GitHub,按照GitHub的 Set Up Git页面 的指示设置了Git和我的SSH密钥。
我还像GitHub的SSH key passphrases页面上提到的那样,将github SSH 密钥添加到了我的Mac OS X密钥链中。我的公钥已在Git中注册。
尽管如此,每次我尝试Git pull时,都需要输入我的用户名和密码。除了SSH密钥之外,还需要设置其他内容吗?
我已经使用Git有一段时间了,但是不停地要求输入密码让我感到非常烦恼。
我使用的是Mac OS X和GitHub,按照GitHub的 Set Up Git页面 的指示设置了Git和我的SSH密钥。
我还像GitHub的SSH key passphrases页面上提到的那样,将github SSH 密钥添加到了我的Mac OS X密钥链中。我的公钥已在Git中注册。
尽管如此,每次我尝试Git pull时,都需要输入我的用户名和密码。除了SSH密钥之外,还需要设置其他内容吗?
我遇到了这个问题。一个仓库要求我每次输入凭据。我的其他所有仓库都没有要求我的凭据。它们甚至都使用相同的帐户凭据在 HTTPS 下跟踪 GitLab,所以很奇怪为什么它们都正常工作,只有一个有问题。
比较 .git/config 文件,我发现 URL 中有两个关键差异导致了问题:
需要凭据:
https://gitlab.com/myaccount/myproject
不要求凭据:
https://myaccount@gitlab.com/myaccount/myproject.git
所以在我的情况下,添加“myaccount @”和“.git”解决了这个问题。
首先打开 .git/config
文件,确保地址看起来像这样:
protocol://something@url
例如,Azure DevOps 的 .git/config:
[remote "origin"]
url = https://mystore@dev.azure.com/mystore/myproject/
fetch = +refs/heads/*:refs/remotes/origin/*
netrc
”。在这里查看完整示例。 - VonC