一台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
相关推荐
李少兄5 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
先跑起来再说11 小时前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea
承渊政道14 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
Doro再努力15 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
摇滚侠17 小时前
MAC IDEA GIT 提交区显示了几个不存在的目录
git·idea
城东18 小时前
Git使用[远程仓库远端的head比本地和提交的head旧,其他人拉不到最新代码]
git·head·远程仓库远端·比本地和提交的head旧·其他人拉不到最新代码
何中应1 天前
使用SSH地址拉取远程仓库代码报下面的错误
git
何中应1 天前
Git本地仓库命令补充
git
sun0077001 天前
执行repo sync -c -d -j4以后,提交未git push的代码看不到了。要怎么恢复?
git
胖虎11 天前
Git 一个本地仓库同时推送到两个远程仓库(详细教程)
git·多远程仓库·双远程仓库·git双远程·git备份