协慌网

登录 贡献 社区

Git push 需要用户名和密码

我从我的 Github 帐户克隆了一个 git 存储库到我的电脑。

我想使用我的 PC 和笔记本电脑,但有一个 Github 帐户。

当我尝试使用我的 PC 从 Github 推送或拉出时,它需要用户名和密码,但在使用笔记本电脑时则不需要!

每次与原点交互时,我都不想输入用户名和密码。我在这里缺少什么?

答案

常见的错误是使用默认值(HTTPS)而不是 SSH 进行克隆。您可以转到存储库,单击 “克隆或下载”,然后单击 URL 字段上方的 “使用 SSH” 按钮并更新原始远程 URL,如下所示:

git remote set-url origin [email protected]:username/repo.git

这在 GitHub 中有记录:将远程 URL 从 HTTPS 切换到 SSH

使用 Git 存储库进行永久身份验证,

运行以下命令以启用凭据缓存

$ git config credential.helper store
$ git push https://github.com/owner/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://[email protected]': <PASSWORD>

使用时还应指定缓存过期

git config --global credential.helper 'cache --timeout 7200'

启用凭据缓存后,它将缓存7200 秒(2 小时)

我遇到了同样的问题,我发现最简单的解决方案是使用 SSH URL 而不是 HTTPS URL:

ssh://[email protected]/username/repo.git

而不是这个:

https://github.com/username/repo.git

您现在可以使用SSH Key而不是usernamepassword