Git 多账号管理

我们可能会遇到需要使用多个git账号来操作不同仓库的情况,比如用工作账号来操作公司的gitlab,自己学习的代码则会上传到github,这时就需要管理多个账号。这里记录下git管理多账号的过程。

0 清理旧配置

一般我们是会有曾设置过git的全局配置的,所以首先要清理下。

执行命令先看下是否有全局配置

git config --global --list

如果看到了user.name 和 user.email 信息,执行下面命令清除下

git config --global --unset user.name
git config --global --unset user.email

然后删除下以前生成的公钥和秘钥

1 生成钥对

做完前置的清理工作之后,现在可以重新生成钥对了。分别生成github和gitlab的公钥,注意命名时做出区分。

使用下面命令生成公钥

ssh-keygen -t rsa -C “这里填邮箱地址”

回车之后会让选择保存公钥的文件,默认是id_rsa,这里加上后缀以做区别:id_rsa_github。(注意下文件路径哟,不写路径的话会生成在打开git shell 的目录下)

同样的,生成gitlab的公钥即可。

2 添加ssh key

分别为github和gitlab添加ssh key(将 id_rsa_github.pub 和 id_rsa_gitlab.pub 内容分别添加到 github 和 gitlab 的 SSH Keys 中)

3 添加私钥

上一步,我们已经将公钥添加到了 github 或者 gitlab 服务器,现在还需要将私钥添加到本地。使用以下命令

ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitlab

如果添加时出现了Could not open a connection to your authentication agent.的提示,只需先执行下面的命令,之后再执行上述添加命令即可。

ssh-agent bash

添加后,可以使用下面命令确认是否添加完成

ssh-add -l

出现类似下面的东西即是添加成功了

4 管理秘钥

公钥和私钥分别在服务器和本地添加好后,现在需要编辑配置文件来管理账号。在.ssh文件夹的config文件里(如果没有自行创建)

配置内容如下(根据自己的情况填写):

Host github
HostName github.com
User joker
IdentityFile ~/.ssh/id_rsa_github

Host gitlab
HostName gitlab.com
User joker
IdentityFile ~/.ssh/id_rsa_gitlab

该文件分为多个用户配置,每个用户配置包含以下几个配置项:

  • Host:仓库网站的别名,随意取
  • HostName:仓库网站的域名(IP地址)
  • User:仓库网站上的用户名
  • IdentityFile:私钥的绝对路径

配置后通过下面命令测试下HOST是否能连通

ssh -T git@github

 5 仓库配置

现在为不同的仓库配置Local级别的配置,就能使用不能的账号操作不同的仓库了

假设我们要配置 github 的某个仓库,进入该仓库后,执行以下命令

git config --local user.name "你的账号"
git config --local user.email "你的邮箱"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值