我从我的GitHub帐户克隆了一个Git存储库到我的电脑。
我想使用我的电脑和笔记本电脑,但只有一个GitHub帐户。
当我尝试使用我的电脑推送到GitHub或从GitHub中拉取时,它需要用户名和密码,但当我使用笔记本电脑时不需要!
我不想每次与origin交互时都键入用户名和密码。我在这里缺少什么?
我从我的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并使用
[remote "origin"]
url = https://<login>:<password>@gitlab.com(...).git
不用说,这是一种不安全的密码存储方式,但在某些环境/情况下,这可能不是问题。
您需要执行两个步骤-
git远程删除原点git远程添加原点git@github.com:掘金AI/掘金.git
注意Git URL是SSH URL,而不是HTTPS URL。。。您可以从这里选择:
一个常见的原因是使用默认(HTTPS)而不是SSH进行克隆。您可以通过转到存储库,单击“克隆或下载”,然后单击URL字段上方的“使用SSH”按钮,然后更新源远程的URL,如下所示:
git remote set-url origin git@github.com:username/repo.git
您可以使用以下方法检查是否已将远程添加为HTTPS或SSH:
git remote -v
GitHub中记录了这一点:将远程URL从HTTPS切换到SSH。
检查您的git版本和更新。然后将解决问题
$git更新windows的git
更新说明:当您的PC git版本和服务器git版本不匹配时,我们可以使用此选项。
列出当前SSH密钥:
ls -l ~/.ssh
生成新的SSH密钥:
ssh-keygen -t ed25519 -C "your_email@example.com"
您应该更换的位置your_email@example.com使用您的GitHub电子邮件住址当提示输入保存密钥的文件时,按进来输入密码时(如果没有密码,则为空)-只需按输入(对于空密码短语)。再次列出SSH密钥:
ls -l ~/.ssh
现在应该已经添加了文件id_ed25519和id_ed25529.pub。在后台启动ssh代理:
eval $(ssh-agent -s)
将SSH私钥添加到SSH代理:
ssh-add ~/.ssh/id_ed25519
接下来将公钥输出到终端屏幕:
cat ~/.ssh/id_ed25519.pub
将输出复制到剪贴板(Ctrl+Insert)。去https://github.com/<您的github用户名>并使用您的用户名和密码。单击右上角的GitHub头像,然后单击设置。在左侧窗格中,单击SSH和GPG密钥。单击绿色按钮新建SSH密钥并将公共SSH密钥粘贴到标记为key的文本区域中。使用描述性标题,告诉您将使用哪台计算机使用此SSH密钥。单击添加SSH密钥。
如果您当前的本地存储库是使用http和用户名创建的,它需要重新创建,以便变得与SSH兼容。首先检查以确保您有一个干净的工作树这样你就不会失去任何工作:
git status
然后cd。。到父目录和rm-fr<repo的名称>。最后克隆一个使用SSH而不是用户名/密码的新副本:
git clone git@github.com:[your-github-username]/[repository-name].git
参考文献:https://docs.github.com/en/free-pro-team@最新的/github/认证到github/生成a-new-ssh-key-and-adding-it-the-sshagenthttps://docs.github.com/en/free-pro-team@最新/github/认证到github/添加a-new-ssh-key-to-your-github-account