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

一、问题产生背景

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

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

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

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

1、本地创建ssh-key
// 查看是否已经创建过ssh-key
ll -a ~/.ssh/

首先,进入 .ssh 目录下

cd ~/.ssh/

接着,创建ssh-key,[email protected]注意替换成你自己的邮箱账号

ssh-keygen -t rsa -C "[email protected]"

一路回车执行完上述命令后,这时会在本地的.ssh目录创建两个文件:
git 本地如何配置多平台账号|本地 git 账号关联远程 github/gitlab/gitee_第1张图片

2、把 id_rsa.pub 文件的内容复制到远程github上,如下图,即可正常push代码。

git 本地如何配置多平台账号|本地 git 账号关联远程 github/gitlab/gitee_第2张图片
git 本地如何配置多平台账号|本地 git 账号关联远程 github/gitlab/gitee_第3张图片

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

我们刚刚创建ssh-key([email protected]注意替换成你自己的邮箱账号)的时候,生成了下面两个文件,这样只能适用于一个账号多个平台,不能用于多个账号。

ssh-keygen -t rsa -C "[email protected]"

git 本地如何配置多平台账号|本地 git 账号关联远程 github/gitlab/gitee_第4张图片
紧接着,那我们就再生成一套新的密钥,起一个不同的名字,然后通过配置来区分github用我们这套新的账号配置,公司gitlab用我们刚刚第二步骤里生成的那套账号配置,不就可以了嘛!

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

cd ~/.ssh

再次执行ssh-keygen -t rsa -C "[email protected]"这次换成你的另一个账号

敲回车之后,修改密钥的名称,起一个不同的名字,如下图所示。
git 本地如何配置多平台账号|本地 git 账号关联远程 github/gitlab/gitee_第5张图片
好了,这样我们就配置了两个账号的密钥,一个用来链接公司的gitlab,一个用来折腾自己的GitHub。

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

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

  • 在.ssh目录新建config文件
    执行命令:vi config,敲下键盘的 i 键,切换至输入状态。
  • 输入以下代码,注意改成你自己的账号,文件名字
    git 本地如何配置多平台账号|本地 git 账号关联远程 github/gitlab/gitee_第6张图片
# 第一个账号,默认使用的账号
Host github.com
HostName github.com
User xxxx@xx.com
IdentityFile ~/.ssh/id_rsa

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

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

你可能感兴趣的:(git,前端,github,git,javascript,html5,css)