如何从第一个github帐户切换到第二个?

时间:2016-06-13 05:51:25

标签: git ssh

我使用git凭据( user.name= venkatuser.email=venkat@gmail.com )在项目A上工作,并成功完成。

我开始了我的新项目B.
为此,我创建了我的登录凭据( user.name= venkat-yahoouser.email=venkat@yahoo.com )并添加了带有新凭据的ssh。
使用新邮件生成的ssh很好但是当我第一次推送到GitHub时,它会被我的旧user.email / name推送。

我使用凭据进行了检查,结果是旧凭据:

myvenkat@myvm:~/Desktop/project/ProjectB/projectB-master$ git config --list
user.name= venkat
user.email=venkat@gmail.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@github.com:xxxxx/ProjectB.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

从旧凭据完成第一次推送,现在我想从新凭据推送所有内容。怎么做?

1 个答案:

答案 0 :(得分:1)

您需要更改本地配置才能使用新名称/电子邮件

git config user.name venkat-yahoo
git config user.email venkat@yahoo.com
git config -l

这与你将用于推送到GitHub的ssh无关。

为此,您需要设置~/.ssh/config文件以指示git使用正确的ssh密钥。

Host githubyahoo github
  HostName github.com
  User git
  IdentityFile "~/.ssh/github_yahoo_rsa"

并更改远程repo url:

git remote set-url origin githubyahoo:<user>/<repo>

同样,user.nameuser.email与GitHub身份验证(使用新的ssh密钥)无关。 它们与您的提交相关的作者/提交标识有关 该用户名在每次提交时都是可见的,这可能就是“用旧的user.email / name推送它”的意思。

但你可以很好地推送使用GitHub帐户Y(由ssh密钥引用)作为X的提交:两者(提交作者和GitHub帐户)是非常不同的概念。

相关问题