[英]github is not asking for password while interacting with remote repo, no ssh is setup
[英]Why is github asking me username/password although I setup SSH authentication?
我已按照这些说明为 github 设置 SSH 密钥。 但是现在当我这样做
> git pull
Username for 'https://github.com':
在我从本地计算机上获取公共 SSH 密钥的存储库中,我仍然需要输入用户名/密码。 我错过了一步吗?
您需要告诉 Git 使用 SSH 协议而不是 HTTPS。 在 GitHub 上的存储库页面上,选择Clone or Download
and Use SSH
。 您将以git@github.com:<user>/<repo>.git
的形式获得 SSH 协议的 URL。
然后在你的工作树中运行以下命令来告诉 Git 使用这个 URL 而不是当前的 URL:
git remote set-url origin git@github.com:<user>/<repo>.git
这也在GitHub 帮助中进行了解释。
上述方法不会导致再次克隆存储库,它只会更改用于本地存储库和 GitHub 之间未来同步的通信协议。
或者,您可以使用git remote add <new-remote-name> <url>
然后git pull <new-remote-name>
设置一个新的遥控器,但 Git 会将两种协议作为单独的遥控器进行跟踪,所以我不推荐这个。
这也可以通过编辑项目的 git 配置文件来完成。 用你最喜欢的编辑器打开.git/config
并找到现有的 URL:
[remote "origin"]
url=https://github.com/<usr>/<repo>.git
更改为:
[remote "origin"]
url=git@github.com:<usr>/<repo>.git
就个人而言,我发现这有点容易记住,但可能会更加“内部”。
就我而言,我在 GitHub 上创建了自己的存储库,并希望将文件从本地计算机推送到该存储库。 当我想推送代码时,我被要求输入用户名和密码,尽管我已经使用公共 SSH 密钥配置了我的 GitHub 帐户。
我的错误是我添加了带有https
端点而不是ssh
端点的遥控器,如下所示:
git remote add origin https://github.com/vagdevik/dummy.git
我通过以下方式解决了这个问题:
(以下几点很重要,因为如果我们直接跳到第3步,它会抛出一个错误,说遥控器已经存在)
.git
: rm -rf .git
git init
git add .
git commit -m "first commit"
https
端点的那个(重要) git remote add origin https://github.com/vagdevik/dummy.git
这一次,我没有被要求输入用户名/密码。
谢谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.