如果公司的代码同步环境在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账户,配置的步骤和上面是一样的。