我使用Git已经有一段时间了,但不断的密码请求开始让我感到很烦。
我使用的是Mac OS X和GitHub,我按照GitHub的设置Git页面的指示设置Git和SSH密钥。
我还将github SSH密钥添加到了我的Mac OS X密钥链中,正如github的SSH密钥密码页面中提到的那样。我的公钥已在Git中注册。
然而,每次我尝试Git拉时,我都必须输入用户名和密码。除了SSH密钥之外,我是否需要为此设置其他东西?
我使用Git已经有一段时间了,但不断的密码请求开始让我感到很烦。
我使用的是Mac OS X和GitHub,我按照GitHub的设置Git页面的指示设置Git和SSH密钥。
我还将github SSH密钥添加到了我的Mac OS X密钥链中,正如github的SSH密钥密码页面中提到的那样。我的公钥已在Git中注册。
然而,每次我尝试Git拉时,我都必须输入用户名和密码。除了SSH密钥之外,我是否需要为此设置其他东西?
当前回答
正如其他人所说,您可以安装密码缓存助手。我主要只是想发布其他平台的链接,而不仅仅是Mac。我正在运行Linux服务器,这很有用:在Git中缓存GitHub密码
对于Mac:
git credential-osxkeychain
窗户:
git config --global credential.helper wincred
Linux:
git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
其他回答
我有这个问题。回购要求我每次都输入凭证。我所有的其他经纪人都没有要求我出示证件。他们甚至被设置为在相同的帐户凭据下使用HTTPS跟踪GitLab,所以奇怪的是,除了一个,他们都工作得很好。
比较.git/config文件,我发现导致问题的URL中有两个关键差异:
确实要求提供凭据:
https://gitlab.com/myaccount/myproject
不要求提供凭据:
https://myaccount@gitlab.com/myaccount/myproject.git
因此,添加“myaccount@”和“.git”解决了我的问题。
我同意“codehugger”,并使用“orkoden”的指令,它对我有效-在NetBeans 7.3上-当您右键单击文件并选择上下文菜单-push-打开“push to remote”窗口时-这里有两个选项:
来源:https://github.com/myaccount/myproject.git/https://github.com/myaccount/myproject.git/
正如您所看到的,区别在于URL中的原始参数-您不想选择此选项(1),您想检查选项(2),这对我来说很好。
在GitHub中使用密钥之前,请按照教程中的步骤测试SSH连接:
$ ssh -T git@github.com
# Attempts to ssh to GitHub
使用此命令:用适当的主机名替换github.com
git remote set-url origin git@github.com:user/repo.git
如上所述,更改
https://github.com/username/repo.git
git://github.com/username/repo.git
to
ssh://git@github.com/username/repo.git
我自己将.git/config文件中的https更改为ssh,但仍然无法工作。然后我看到你必须将github.com更改为git@github.com.获取实际正确URL的一个好方法是转到您的项目页面并单击此项:
将HTTPS更改为SSH以获得正确的URL
然后将此URL添加到配置文件中。