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

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

当我尝试使用我的电脑推送到GitHub或从GitHub中拉取时,它需要用户名和密码,但当我使用笔记本电脑时不需要!

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


当前回答

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

ssh://git@github.com/username/repo.git

而不是这样:

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

现在,您可以只使用SSH密钥而不是用户名和密码进行验证。

其他回答

我也有同样的问题。

所以我从项目中更改了.git/config文件,

url = https://github.com/<your-user-here>/<your-repo-here>

to

url = git@github.com:<your-user-here>/<your-repo-here>

并将SSH公钥添加到正在设置的Git配置文件中。

对于SSH公钥:

cat ~/.ssh/id_rsa.pub

对于那些对前面的答案感到困惑的新手,你可以这样做:

git remote -v

它会做出如下反应

origin    https://yourname@github.com/yourname/yourrepo.git (fetch)
origin    https://yourname@github.com/yourname/yourrepo.git (push)

然后,您可以运行许多其他人建议的命令,但现在您可以从上面知道您的名字和您的repo,因此您可以将上面的name/yourrepo.git剪切并粘贴到:

git remote set-url origin git@github.com:yourname/yourrepo.git

如果SSH密钥或.netrc文件不适用于您,那么另一个简单但不太安全的解决方案可能适用于您:git credential store-Helper将凭据存储在磁盘上:

git config --global credential.helper store

默认情况下,凭据将保存在文件~/.git凭据中。它将被创建并写入。

请注意,使用此助手将在磁盘上存储未加密的密码,仅受文件系统权限的保护。如果这可能不是可接受的安全权衡。

这就是对我有用的:

git remote set-url origin https://username@github.com/username/reponame.git

例子:

git remote set-url origin https://jsmith@github.com/jsmith/master.git

如果您克隆了HTTPS而不是SSH,并且在pull、push和fetch时遇到用户名和密码提示问题。您可以简单地为UBUNTU解决此问题

步骤1:移动到根目录

cd ~/

创建文件.git凭据

使用用户名密码和githosting URL将此内容添加到该文件

https://user:pass@example.com

然后执行命令

git config --global credential.helper store

现在,您将能够轻松推送并从回购中获取所有详细信息。