如何在一台开发机中同时配置github、gitlab等多个账户
本文参考博文.
如果公司的代码同步环境在gitlab
上,而自己有很多项目托管在github
。我们需要做一些额外的配置实现两者的无缝切换。
步骤
我的开发机是macbook
,如果属于不同系统,找到该系统下对应的路径进行配置即可。
假设我们需要同时配置github
与gitlab
。
- 进行
.ssh
文件夹
cd ~/.ssh/
- 使用命令
ssh-keygen
在.ssh
文件夹中生成秘钥
# 为github生成秘钥,执行以下命令后,将会在`.ssh`文件夹中生成两个文件,`id_rsa`和`id_rsa.pub`
ssh-keygen -t rsa -C "Github的注册邮箱"
# 为gitlab生成秘钥,执行以下命令后,将会在`.ssh`文件夹中生成两个文件,`gitlab_rsa`和`gitlab_rsa.pub`
# -f后是指定的文件名
ssh-keygen -t rsa -C "Gitlab的注册邮箱" -f ~/.ssh/gitlab_rsa
- 配置
config
文件
# 在.ssh文件夹内创建`config`文件
vim config
# 在其中键入以下内容
# gitlab
Host gitlab
HostName git.xxx.com # 这里填你的gitlab的Host
User git
IdentityFile ~/.ssh/gitlab_rsa
# github
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
- 在
.ssh
路径下测试连接
# 测试gitlab
ssh -T git@gitlab
# 测试github
ssh -T git@github
- 不同项目的
gitconfig
配置,主要分为全局配置global
以及项目内部local
。
一般来说,可以为经常使用的git
账户设置global
。
- global: 位于
~/.gitconfig
,其中设置的配置为全局的git
所使用
# 可以通过以下命令设置`global`级别的gitconfig
git config --global user.name '注册名'
git config --global user.email '注册邮箱'
- local: 位于项目内
./git/config
,其中设置的配置为当前项目的git
所使用
# 可以通过以下命令设置`global`级别的gitconfig
git config --local user.name '注册名'
git config --local user.email '注册邮箱'
结尾
有些同学可能还有gitee
账户,配置的步骤和上面是一样的。