聊下 git 多账户问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊下 git 多账户问题相关的知识,希望对你有一定的参考价值。

背景

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

git 多账号配置

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

git config –global 设置默认会作用所有的 git repository ,当我们分别 git clone 了 gitlab 、github 的 repository时,需要分别为每个 git clone 下来的 repository 设置当前仓库的 user.name 、user.email 。

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

ssh 多密钥对配置

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

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

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

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

ssh-keygen -t rsa


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

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

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

ssh-add ~/.ssh/github


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


ssh-add -l


技术分享图片

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

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

ssh-add -d ~/.ssh/github


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

谢谢


本文出自 “王清培” 博客,请务必保留此出处http://wangqingpei557.blog.51cto.com/1009349/1982987

以上是关于聊下 git 多账户问题的主要内容,如果未能解决你的问题,请参考以下文章

聊下 git rebase -i

聊下git pull --rebase

聊下git pull --rebase

聊下 git 使用前的一些注意事项

聊下 git 使用前的一些注意事项

聊下git merge --squash