我从我的GitHub帐户克隆了一个Git存储库到我的电脑。
我想使用我的电脑和笔记本电脑,但只有一个GitHub帐户。
当我尝试使用我的电脑推送到GitHub或从GitHub中拉取时,它需要用户名和密码,但当我使用笔记本电脑时不需要!
我不想每次与origin交互时都键入用户名和密码。我在这里缺少什么?
我从我的GitHub帐户克隆了一个Git存储库到我的电脑。
我想使用我的电脑和笔记本电脑,但只有一个GitHub帐户。
当我尝试使用我的电脑推送到GitHub或从GitHub中拉取时,它需要用户名和密码,但当我使用笔记本电脑时不需要!
我不想每次与origin交互时都键入用户名和密码。我在这里缺少什么?
当前回答
你基本上有两个选择。
如果您在两台计算机上使用同一用户,则需要将.pub密钥复制到PC上,这样GitHub就知道您是同一用户。
如果你已经为你的电脑创建了一个新的.pub文件,并希望将这些机器视为不同的用户,你需要在GitHub网站上注册新的.pub文件。
如果这仍然不起作用,可能是因为ssh配置不正确,ssh无法找到密钥的位置。尝试
ssh -vv username@github.com
获取SSH失败的更多信息。
其他回答
你基本上有两个选择。
如果您在两台计算机上使用同一用户,则需要将.pub密钥复制到PC上,这样GitHub就知道您是同一用户。
如果你已经为你的电脑创建了一个新的.pub文件,并希望将这些机器视为不同的用户,你需要在GitHub网站上注册新的.pub文件。
如果这仍然不起作用,可能是因为ssh配置不正确,ssh无法找到密钥的位置。尝试
ssh -vv username@github.com
获取SSH失败的更多信息。
对我有用的是编辑.git/config并使用
[remote "origin"]
url = https://<login>:<password>@gitlab.com(...).git
不用说,这是一种不安全的密码存储方式,但在某些环境/情况下,这可能不是问题。
除了更改为SSH之外,如果您不介意以明文形式输入密码,您还可以继续使用HTTPS。把这个放到你的~/.netrc中,它不会要求你输入用户名/密码(至少在Linux和Mac上是这样):
machine github.com
login <user>
password <password>
添加(请参见VonC的第二条评论):在Windows上,文件名为%HOME%\_netrc。
如果您想加密,请阅读VonC的第一条评论。
如果您有Git 1.7.10或更高版本,则可以使用另一个插件(请参见user137717的注释)。
使用凭据助手在Git中缓存GitHub密码:
如果要使用HTTPS克隆GitHub存储库,可以使用凭据助手,告诉Git记住您的GitHub用户名和密码。
这也适用于Linux、Mac和Windows。
对于Windows Git用户,在运行Git-config--globalcredential.helper store后,如果仍然提示输入密码,最好使用以下命令检查配置文件的写入位置
git config --list --show-origin
在我的例子中,在手动编辑配置文件“C:\Program Files\Git\mingw64\etc\gitconfig”并添加以下文本后,它就工作了。
[credential]
helper = store
这就是对我有用的:
git remote set-url origin https://username@github.com/username/reponame.git
例子:
git remote set-url origin https://jsmith@github.com/jsmith/master.git