我已经使用 Git 有一段时间了,但是不断要求输入密码的请求开始让我陷入困境。
我正在使用 Mac OS X 和 GitHub,并按照 GitHub 的设置 Git 页面的说明设置了 Git 和我的 SSH 密钥。
我还在我的 Mac OS X 钥匙串中添加了 github SSH 密钥,如GitHub 的 SSH key passphrases page中所述。我的公钥已在 Git 中注册。
尽管如此,每次我尝试 Git pull 时,我都必须输入我的用户名和密码。除了 SSH 密钥之外,我还需要为此设置什么吗?
我认为您可能有错误的 Git 存储库 URL。
打开.git/config并找到 [remote “origin”] 部分。确保您使用的是 SSH:
.git/config
ssh://git@github.com/username/repo.git
如果单击克隆或下载 并选择 ssh ,您可以在存储库的主页中看到 SSH URL 。
而不是那个https或git一个:
https
git
https://github.com/username/repo.git git://github.com/username/repo.git
您现在可以 仅 使用 SSH 密钥而不是用户名和密码进行验证。
如果 Git 抱怨'origin' has already been added,打开.config文件并编辑后面的url = "..."部分[remote origin]``url = ssh://github/username/repo.git
'origin' has already been added
.config
url = "..."
[remote origin]``url = ssh://github/username/repo.git
其他服务也是如此。确保地址如下所示:protocol://something@url
protocol://something@url
例如.git/config对于 Azure DevOps:
[remote "origin"] url = https://mystore@dev.azure.com/mystore/myproject/ fetch = +refs/heads/*:refs/remotes/origin/*