同一个电脑配置两个github账号

mac中.ssh文件夹在根目录下,所以表示成 ~/.ssh/。

一、同一个电脑配置两个github账号
1、分别为两个GitHub账号生成SSH密钥

$ cd ~/.ssh
$ ssh-keygen -t rsa -f id_rsa -C "camillehou666@gmail.com"
$ ssh-keygen -t rsa -f id_rsa_github -C "zhugeshuiying@126.com"

操作完成后,在 ~/.ssh/ 路径下会出现四个文件:

id_rsa
id_rsa.pub
id_rsa_github
id_rsa_github.pub

2、在GitHub账户添加SSH公钥
使用下列命令获取两个SSH公钥的值:

$ cat id_rsa.pub
$ cat id_rsa_github.pub

把这两个值分别粘贴到GitHub账号中的SSH keys中保存。

3、设置配置文件让不同账号访问不同SSH密钥
使用下面的命令在~/.ssh/下新建一个名为config的文件并编辑:

$ touch config
$ vim config

填入以下内容:

# 第一个github账号
# github user(camillehou666@gmail.com)
Host camille666.github.com
HostName github.com
User camille666
IdentityFile ~/.ssh/id_rsa

# 第二个github账号
# github user(zhugeshuiying@126.com)
Host zhugeshuiying.github.com
HostName github.com
User zhugeshuiying
IdentityFile ~/.ssh/id_rsa_github

4、本地添加私钥
然后清空一下本地的SSH缓存,添加SSH私钥到ssh-agent:

$ ssh-add -D
$ eval "$(ssh-agent -s)"
$ ssh-add id_rsa
$ ssh-add id_rsa_github

最后确认一下新密钥已经添加成功:

$ ssh-add -l

5、测试两个帐户是否可用

$ ssh -T git@camille666.github.com
$ ssh -T git@zhugeshuiying.github.com

如果出现“Hi zhugeshuiying! You've successfully authenticated, but GitHub does not provide shell access.”的提示,说明已经设置成功。

6、克隆仓库

# 原来
$ git clone git@github.com: 用户名/test.git

#现在
$ git clone git@camille666.github.com:camille666/wpk-compiler.git 
$ git clone git@zhugeshuiying.github.com:zhugeshuiying/testpaper.git

7、清除git的全局设置
使用 git config --list 查看当前配置。

如果你之前在设置本地仓库和github连接的时候设置过user.name和user.email,那么你必须首先清楚掉该设置,因为不清楚掉该设置,两个账号在提交资料的时候,验证肯定冲突。
只能设置一个全局的user.name和user.email,而你现在有两个账号。

$ git config --global --unset user.name
$ git config --global --unset user.email

8、设置每个项目repo自己的user.email

【添加隐私邮箱】
GitHub提供了两种方法来保护我们的邮箱隐私:

  • 使用GitHub专用的替代邮箱;

如果勾选第1项,且不勾选第2项,要push成功,git这样设置

$ git config user.email "camillehou666@gmail.com"
$ git config user.name "camille666"

$ git config user.email "zhugeshuiying@126.com"
$ git config user.name "zhugeshuiying"

git设置的邮箱尽量和github的邮箱保持一致。

  • 在推送时发现隐私邮箱则阻止推送;

如果勾选第2项,要push成功,要么去掉第一项勾选,要么把修改git设置

$ git config user.email "camille666@users.noreply.github.com"
$ git config user.name "camille666"

$ git config user.email "zhugeshuiying@users.noreply.github.com"
$ git config user.name "zhugeshuiying"

二、同一个电脑配置github和gitlab账号

# 该文件用于配置私钥对应的服务器
# github user(camillehou666@gmail.com)
Host github.com
HostName github.com
User camille666
IdentityFile ~/.ssh/id_rsa_github

# 建一个gitlab别名,新建的帐号使用这个别名做克隆和更新
# gitlab user(houyi154084@alibaba-inc.com)
Host gitlab.alibaba-inc.com
HostName gitlab.alibaba-inc.com
User houyi154084
IdentityFile ~/.ssh/id_rsa

三、一些问题

1、github修改用户名和邮箱后,这个地方头像不显示也没办法点击了,是什么原因?

这是因为commit里显示的头像和用户名是根据你本地Git配置决定的,不是由你的Github账户决定的。当你的Github账户里的邮箱和你本地Git配置里刚好一致时,Github会把commit里的邮箱替换为用户名和头像。

 

转载于:https://www.cnblogs.com/camille666/p/two_github_user_in_same_computer.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值