本地 git 账号关联远程 github/gitlab | git 本地如何配置多平台账号

zzzzzxm原创大约 3 分钟工作随笔GITGITHUB

一、问题产生背景

工作用的公司 gitlab 账号,自己平常学习用的 github 账号,又只有一个电脑,公司账号当然不能用于 github,所以需要分别配置两套密钥,分别用于自己搞事情研究和公司搬砖使用。

二、本地 git 账号关联远程 github | gitlab

我们必须将本地账号关联了远程账户,才能把本地代码提交到远程仓库上。

道理都一样,我们以 GitHub 为例:

1、本地创建 ssh-key

// git bash 查看是否已经创建过ssh-key
ll -a ~/.ssh/

首先,进入 .ssh 目录下

接着,创建 ssh-key,xxxxx@163.com 注意替换成你自己的邮箱账号

ssh-keygen -t rsa -C "xxxxx@qq.com"

一路回车执行完上述命令后,这时会在本地的 .ssh 目录创建两个文件:

2、把 id_rsa_github.pub 文件的内容复制到远程 github 上 👇

点击这个链接配置 github keys:GitHub Settings - Keysopen in new window

3、测试拉取项目

未配置多账号


我们现在有多个 id_rsa 文件,github 拉取时不知道使用哪一个 需要配置上对应的策略
👉策略配置

三、git 本地配置多平台账号

我们刚刚创建 ssh-key( xxxxx@163.com 注意替换成你自己的邮箱账号)的时候,生成了两个id_rsa_github文件,这样只能适用于一个账号多个平台,不能用于多个账号。

紧接着,那我们就再生成一套新的密钥,起一个不同的名字,然后通过配置来区分 github 用我们这套新的账号配置,公司 gitlab 用我们刚刚第二步骤里生成的那套账号配置,不就可以了嘛!

说干就干,还是第一步,先进入到 .ssh 目录:

再次执行下面命令(这次换成你的另一个账号)

ssh-keygen -t rsa -C "xxxxx@qq.com"

敲回车之后,修改密钥的名称,起一个不同的名字,如下图所示👇。

好了,这样我们就配置了两个账号的密钥,一个用来链接公司的 gitlab,一个用来折腾自己的 GitHub。

四、配置秘钥使用策略

话又说回来了

还有个问题,怎么知道你提交远程仓库的时候,用哪个秘钥呢?

我们还需要写个配置文件,当提交到公司的远程仓库 http://xxx.github.comopen in new window 的时候,我们用账号 A,提交自己的 http://xxx.gitlab.comopen in new window 的时候,用账号 B。

  • 在 .ssh 目录新建 config 文件:

执行命令: vi config ,敲下键盘的 i 键,切换至输入状态。

输入以下代码,注意改成你自己的账号,文件名字

# 第一个账号,默认使用的账号
Host github.com
HostName github.com
User xxxx@xx.com
IdentityFile ~/.ssh/id_rsa_github


# 第二个账号
Host xxx.gitlab.com  # 你的第二个远程仓库地址,用第二个账号
HostName github.com
User xxxxx2@xx.com  # 你的第二套账号邮箱
IdentityFile ~/.ssh/id_rsa_gitlab # 你的第二套账号对应的秘钥
  • 依次按下 esc: ,输入 wq ,敲下回车,保存文件。

然后就可以顺利的进行多账号多个远程仓库的使用啦~

五、测试一把

  • github 拉取项目
  • gitlab 拉取项目
上次编辑于:
贡献者: 202210235030