一台PC创建多个Git平台账号

因为工作需要,需要使用Gitlab,所以公司的项目都是使用Gitlab来提交代码的;但是平时自己想学习研究一些东西是使用的Gitee,所以需要在一台电脑上配置多个Git平台账号,以下是配置的步骤:

删除Global的设置

首先通过如下命令查看是否设置了全局配置

shell 复制代码
git config --global --list

如果有配置,则逐一删除,比如user.email,user.name

shell 复制代码
 git config --global --unset user.email
 git config --global --unset user.name

生成一对新的RSA公私钥

用如下命令生成,此过程会让用户输入公私钥的存储位置,一般存放为 ~/.ssh/xxxx(xxxx为新的文件名,注意这里不要和旧的重名了,比如可以设置为 ~/.ssh/id_rsa_gitee)

shell 复制代码
ssh-keygen -t rsa -C "youremail@example.com"

配置config文件

在 ~/.ssh/目录下面添加一个名为config的文件,注意这里是没有后缀的,一般建议使用vi或者vim命令来创建文件,内容如下

shell 复制代码
Host gitlab.com
    HostName gitlab.com
    IdentityFile ~/.ssh/id_rsa
    PreferredAuthentications publickey
    User zhangsan

Host gitee.com
    HostName gitee.com
    IdentityFile ~/.ssh/id_rsa_gitee
    PreferredAuthentications publickey
    User wangwu

测试

用如下命令检测是否配置成功

shell 复制代码
 ssh -T git@gitee.com

配置不同的user

比如对于gitlab我想用张三(zhangsan, zhangsan@abc.com),对于gitee我想用王五(wangwu,wangwu@abc.com),需要做如下配置

  1. 修改~/.gitconfig,内容如下:
shell 复制代码
[user]
    name = youName
    email = youEmail@example.com

[includeIf "gitdir:**/company/**"]
    path = ~/.gitconfig_work

[includeIf "gitdir/i:**/personal/**"]
    path = ~/.gitconfig_self
  1. 创建~/.gitconfig_work,内容如下:
shell 复制代码
[user]
    name = zhangsan
    email = zhangsan@abc.com
  1. 创建~/.gitconfig_self,内容如下:
shell 复制代码
[user]
    name = wangwu
    email = wangwu@abc.com

当clone自己的项目时,要把项目clone到文件夹personal下面即可

当clone公司的项目时,要把项目clone到文件夹company下面即可

记得,在commit前运行如下命令确认一下

shell 复制代码
git config user.name
相关推荐
誰能久伴不乏34 分钟前
看懂 Git 团队协作全流程:分支、提交、PR、rebase 到底在干嘛
git
sunshine22 girl6 小时前
git tag-项目流程
git
imDwAaY19 小时前
6篇文章讲清楚Git:Git 远程协作:fetch、pull、push 到底有什么区别?(3/6)
git·后端
imDwAaY19 小时前
6篇文章讲清楚Git:Git 撤销与恢复:reset、revert、restore 应该怎么选?(4/6)
git
用户733096461230920 小时前
再也不怕手滑丢代码!给 git 高危操作加一层安全校验
git
广白20 小时前
Git Tag 实战:从出包追溯到版本发布
前端·git·面试
Winlifes6 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理7 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123457 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s7 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git