从具有多个帐户的命令行登录到github

时间:2016-01-11 21:53:01

标签: git github

我开了一个新的GitHub帐户,将我的商业与个人回购分开。

现在,我git init我的本地仓库和git add remote origin <the repo https url>

我尝试推送,似乎总是使用原始帐户的凭据,而不是提示我输入新帐户的凭据。

我尝试使用网址格式

https://<username>:<password>@github.com/<username>/<repo.git>

但这似乎没有帮助:我仍然收到一个错误,即凭据对原始帐户用户名无效。

如何使用多组凭据登录,或者如何以某种方式重置原始凭据以在推送时强制提示密码?

修改

我设法立即推送的唯一方法是在username:password@github.com/

中指定网址中的git push command

5 个答案:

答案 0 :(得分:6)

git config --global credential.helper cache

...告诉git将你的密码缓存在内存中(默认情况下)为15分钟。你可以set a longer timeout使用:

git config --global credential.helper "cache --timeout=3600"

更有用的链接:

https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repositories-776639846.html

  

使用.netrc文件   .netrc文件是一种机制,允许您指定要用于哪个服务器的凭据。

     

此方法允许您每次从Git推送或拉取时都不会输入用户名和密码,但您的Git密码以纯文本格式存储。

您可以使用以下命令存储凭据

git config credential.helper store
git push http://example.com/repo.git
# Now type username and password and it should be saved by git.

答案 1 :(得分:1)

您可以在正在使用的仓库中使用git config。在$ {local_repo_folder} / .git / config中,在那里添加您的用户详细信息。这样,您就可以配置在每个repo级别上使用哪个用户。

答案 2 :(得分:1)

我设法推送的唯一方法是在git push命令中指定url中的username:password@github.com/

答案 3 :(得分:0)

使用此命令重新登录github中的其他帐户

git remote set-url origin "remote repository URL"

答案 4 :(得分:0)

来自文档:

<块引用>

如果省略 --global 或使用 --local,则配置仅应用于当前存储库。

在您的 shell 中,添加您的用户名:

git config user.name "your_username"

以及您的电子邮件地址:

git config user.email "your_email_address@example.com"

要检查配置,请运行:

git config --list

为了与您的全局配置进行比较,请运行:

git config --global --list

https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html