Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么github没有';Don’不要问我用户名/密码?_Git_Github_Ssh - Fatal编程技术网

为什么github没有';Don’不要问我用户名/密码?

为什么github没有';Don’不要问我用户名/密码?,git,github,ssh,Git,Github,Ssh,我尝试从github origin中git拉取,得到了以下结果: Permission denied (publickey). fatal: The remote end hung up unexpectedly 而不是提示用户名和密码。我的~/.ssh/文件夹是空的,所以我不知道这里的公钥是什么意思 git如何决定是否请求用户名/密码?我怎么能强迫他这么做?(出于某种原因,我不想使用ssh密钥)发生这种情况是因为您使用的是ssh url,可能您的ssh设置没有配置(您还说您的~/.ssh目录

我尝试从github origin中
git拉取
,得到了以下结果:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly
而不是提示用户名和密码。我的
~/.ssh/
文件夹是空的,所以我不知道这里的
公钥是什么意思


git
如何决定是否请求用户名/密码?我怎么能强迫他这么做?(出于某种原因,我不想使用ssh密钥)

发生这种情况是因为您使用的是ssh url,可能您的ssh设置没有配置(您还说您的
~/.ssh
目录为空)

您可以使用以下命令检查当前远程url:

git remote -v
如果要使用基本身份验证(用户名+密码),则必须使用https

在存储库中执行此操作:

git remote set-url origin https://github.com/your-username/repository.git
用户名
替换为GitHub用户名,将
存储库
替换为存储库名称。另外,将
origin
替换为您的远程名称(如果您使用的是其他远程名称,则可能不是)

如前所述,您可以使用SSH URL。这样可以加快您的工作速度,而不是每次输入用户名/密码都会让您感到烦恼

还有其他方法可以防止git每次都询问您的密码。是其中之一,通过设置缓存时间

…或者您可以在HTTPs url中提供您的密码/令牌,如前所述


或者,为Github设置SSH密钥

这很简单-GitHub站点上有完整的指南

这还有一个优点,即允许您在不访问计算机的情况下从GitHub站点撤销密钥。如果您使用的是工作计算机,则此功能非常有用

编辑以添加


我应该注意到GitHub建议使用https进行访问。

您可以使用https进行拉取。然后它会询问用户名/密码。要了解要使用哪个远程url,您可以参考您不必每次都输入用户名/密码。同样,网站上有文档告诉您如何设置osx credetial helper,以便在您第一次使用它后将其保存在您的密钥链中@阿比泽恩:我在回答中已经指出了这一点,正是这个网址*我应该注意到GitHub建议使用https进行访问。*–嗯,这有什么参考吗?我把你的票投给了SSH的东西。:)哦,很高兴知道。我不知道这件事。可能是因为它们在任何地方都可以工作,并且不需要在运行git的机器上进行任何设置。
git remote set-url origin https://username:password@github.com/username/repository.git