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

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

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

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


当前回答

对我有用的是编辑.git/config并使用

[remote "origin"]
        url = https://<login>:<password>@gitlab.com(...).git

不用说,这是一种不安全的密码存储方式,但在某些环境/情况下,这可能不是问题。

其他回答

来源:设置Git

以下命令将在内存中保存密码一段时间(对于Git 1.7.10或更高版本)。

$ git config --global credential.helper cache
# Set git to use the credential memory cache

$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after one hour (setting is in seconds)

如果您在Windows下使用Git(例如,GitBash)(如果您不想从HTTPS切换到SSH),也可以使用Windows的Git凭据管理器

此应用程序将为您保留用户名和密码。。。

您需要执行两个步骤-

git远程删除原点git远程添加原点git@github.com:掘金AI/掘金.git

注意Git URL是SSH URL,而不是HTTPS URL。。。您可以从这里选择:

列出当前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

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

步骤1:移动到根目录

cd ~/

创建文件.git凭据

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

https://user:pass@example.com

然后执行命令

git config --global credential.helper store

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