为了账号安全,请及时绑定邮箱和手机立即绑定

一台电脑2个或多个Git账号如何配置和管理

引言

由于我在公司的Git源码服务器有一套账号和密码,我个人的Github又有一套账号和密码,这两个账号都需要PUSH和PULL代码,如果对Git使用的不太熟练,经常会遇到git@github.com: Permission denied (publickey)这种错误,那么我们该如何同时管理多个Git账号呢?

这里我们以MacOS系统为例。

同一台电脑两个Git账号且账号相同

这里所说的账号相同,指的是:邮箱相同。比如我在公司Gitlab用的账号和Github的账号就是同一个邮箱,这种情况比较好处理,Gitlab和Github在校验的时候是只认邮箱的。只要我们把秘钥,也就是 id_ras.pub里面的内容在Gitlab和Github上都配置好就可以了。也就说多个Git源码服务器且都是使用同一个邮箱的情况下,我们只要把id_ras.pub配置到多个源码服务器就OK了!

同一台电脑多个账号且账号不同

这个时候就需要我们指明哪个账号使用哪一个.pub文件了。我们需要在~/.ssh文件夹下创建名为config的文件,如果已经存在了该文件则需要修改一下。

config的内容参考以下写法:


  

# 第一个账号为

# Email:fulade1@gmail.com

# User:fulade1

  

host gitlab.ttal.com

hostname gitlab.ttal.com

Port 65095

User fulade1

IdentityFile /home/Fulade/.ssh/id_rsa

  

# 第二个账号为

# Email:fulade2@gmail.com

# User:fulade2

  

host gitlab-test.ttal.com

hostname gitlab.ttal.com

Port 65095

User fulade2

IdentityFile /home/Fulade/.ssh/id_rsa_second

  

# 第三个账号

# Email:fulade2@gmail.com

# User:fulade2

  

host github.com

hostname github.com

Port 22

User fulade2

IdentityFile /home/Fulade/.ssh/id_rsa_second

  
  

# 其中第二个账号跟第三个账号相同,只是源码服务器不同。

因为配置了多个邮箱账号,所有git的global配置就要删除了。


# 取消全局配置

git config --global --unset user.name

git config --global --unset user.email

然后在每个Repo下配置账号就可以了


# 每个项目Repo设置自己的user.email

git config user.email "xxxx@xx.com"

git config user.name "fulade"

这样就可以了。

补充

指定.pub文件路径的方法:

需要使用命令ssh-keygen -t rsa -C "fulade@gmail.com",接下来输入路径就可以了


ssh-keygen -t rsa -C "fulade@gmail.com"

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/Fulade/.ssh/id_rsa):/Users/Fulade/.ssh/id_rsa_second

其中/Users/Fulade/.ssh/id_rsa_second是要输入的部分。

Have Fun !


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
3
获赞与收藏
14

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消