git 多账户问题

标签(空格分隔):git github gitlab git多账户


  • 背景
  • git 多账号配置
  • ssh 多密钥对配置

背景

在使用 git 的时候我们都会面临多账户问题,比较常见的就是公司内部的 gitlab,开源平台 github ,我们都需要在一台电脑上同时使用,这需要解决两个问题。

git 多账号配置

git config --global user.name 设置全局用户名
git config --global user.email 设计全局邮箱

git config --global 设置默认会作用所有的 git repository ,当我们分别 git clonegitlabgithubrepository 时,需要分别为每个 git clone 下来的 repository 设置当前仓库的 user.nameuser.email

这个问题请参见本人的 git 系列文章 -> 聊下 git 使用前的注意事项

ssh 多密钥对配置

我们都知道 git 是基于 ssh 协议,git 通过 ssh agent 建立与远程链接和验证。

ssh 通过 rsa 私钥进行加密传输到 git servergit server 再通过查找对应的 rsa pub key 进行解密,以验证是否当前提交过来的合法信息。

我们通过 ssh-keygen 分别创建不同的 rsa 密钥对,如果你没有特殊处理过公司内部私有的密钥对一般都是默认的名称 id_rsaid_rsa.pub

如果我们是第一次创建 git 账号,第一次可以纯粹默认的创建过程

一路 enter 回车,然后配置好公司内部的 gitlab ,正常提交。

然后再通过 ssh-keygen 创建的时候另起一个名字,比如 githubgithub.pub 一对,这和创建默认的 idid.pub 没什么区别。

然后通过 ssh-add 将新创建的 github 专用密钥添加进 ssh-agent cache 中。

然后查看 ssh agent 密钥 cache 列表。

聊下 git 多账户问题-LMLPHP

再将 github.pub 公钥配置到我们的 github 的账号中就可以了。

然后就能正常使用gitlab、github 了。如果你不放心怕两个key 混淆了,你可以将其中一个key从ssh agent 中移除。

然后在试着git push 代码,如果不错说明就正确了。

谢谢。

05-04 11:29