一个设备上配置使用两个 git 账号实践指南

文章目录

背景

一台设备上经常要链接两个 Git 远程仓库,比如一个github,一个gitee,又或者一个是公司的远程仓库,一个是自己日常维护的远程仓库。这样子两个仓库分别需要两个账户,在一台设备上分别进行git操作。

我个人是属于后者。目前自己手上使用的是公司配发的电脑,但是日常又想更新维护自己的Github仓库,于是我需要在一台电脑上,能够在上班时使用公司的仓库账号(邮箱、用户名),推送代码;另外,又可以使用另一个账号正常地互不影响的操作自己的Github仓库。于是整理记录了这篇实践指南。


首先,假设这是我的个人信息:
公司git远程仓库的用户名、邮箱

  • user.name: xiaomingchen
  • user.email: xiaomingchen@company.com
    个人Github的用户名、邮箱
  • user.name: xiaoming
  • user.email: xiaoming@qq.com

实操指南

  1. 创建两个目录
  • 一个用于工作、一个用于个人的项目存放
mkdir ~/work
mkdir ~/personal
  1. 编辑全局的 git 配置文件
[includeIf "gitdir:~/work/"]
    path=.work.gitconfig
[includeIf "gitdir:~/personal/"]
    path=.personal.gitconfig
  1. 再编辑两个配置文件,对应全局配置文件中的两个path
  • ~/.work.gitconfig:
[user]
name=xiaomingchen
email=xiaomingchen@company.com
  • ~/.personal.gitconfig:
[user]
name=xiaoming
email=xiaoming@qq.com

以下步骤假设两个远程使用不同的公钥私钥进行登录,首先需要生成两对公钥私钥,并将公钥在对应远程进行保存。再进行配置,告诉本地git,哪个仓库分别使用哪个私钥。具体步骤如下:
5. 生成两对公钥私钥

$ ssh-keygen -t rsa -C 'xiaomingchen@company.com' -f ~/.ssh/work_id_rsa
$ ssh-keygen -t rsa -C 'xiaoming@qq.com' -f ~/.ssh/personal_id_rsa

生成之后,在~/.ssh可以看到如下公钥私钥

$ cd ~/.ssh
$ ls -l
-rw-------  1 xiaoming  staff  2602  2 14 01:00 personal_id_rsa
-rw-r--r--  1 xiaoming  staff   568  2 14 01:00 personal_id_rsa.pub
-rw-------  1 xiaoming  staff  2610  7  6  2022 work_id_rsa
-rw-r--r--  1 xiaoming  staff   577  7  6  2022 work_id_rsa.pub
  1. 进行配置,说白了就是告诉git,哪个远程仓库使用哪个私钥进行身份验证
$ cd ~/.ssh
$ vim config

编辑如下内容

# work
Host git.company.com
HostName git.company.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/work_id_rsa
# personal
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/personal_id_rsa
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值