Gerrit多仓库对应多邮箱配置办法
工作中,我们可能需要配置多个仓库对应不同的邮箱来拉取代码,本文讲解在windows下如何正确配置。
例如我们需要同时拉取仓库A和仓库B的代码,A对应邮箱AAA@123456.com, B对应邮箱BBB@123456.com。
第一步 修改config文件
打开C:\Users\yours.ssh文件夹,找到config文件,使用文本编辑器打开,一般你会看到如下内容:
Host 192.168.xxx.xxx //假设这是A仓库,已经配置好邮箱了
HostName 192.168.xxx.xxx
User yourName
PubkeyAcceptedKeyTypes +ssh-rsa
IdentityFile ~/.ssh/id_rsa
Port 29418
现在我们需要添加B仓库的SSH Key路径,修改后的文件如下:
Host 192.168.xxx.xxx //A仓库配置
HostName 192.168.xxx.xxx
User yourName
PubkeyAcceptedKeyTypes +ssh-rsa
IdentityFile ~/.ssh/id_rsa
Port 29418Host 192.168.xxx.xxx //B仓库配置
HostName 192.168.xxx.xxx
User yourName
PubkeyAcceptedKeyTypes +ssh-rsa
IdentityFile ~/.ssh/id_rsa_B //注意这里,与A仓库保存ssh key的位置区分开来,后缀随便写什么都可以
Port 29418
记得保存,然后就可以关闭了
第二步 生成B仓库的SSH Key
打开B仓库的文件夹路径,右击打开git bash,没有的自己装一个
这里需要注意一下文件路径下有没有.git这个文件夹,如果你还没拉取代码的话,先执行:
git init //初始化git 这步直接影响到配置,需要注意下
这时候会看到对应路径下生成了.git文件夹
开始配置,先执行:
git config user.email "BBB.123456.com" //这步是配置邮箱,如果你用户名也需要重新配置的话把email换成name,引号里输入你要换的用户名即可
可以使用命令查看当前路径下的配置:
git config user.name
git config user.email
接着最关键的一步,生成ssh key:
ssh-keygen -t rsa -C "BBB@123456.com"
然后在显示"Enter file in which to save the key (/c/Users/yours/.ssh/id_rsa):"的冒号后面,手动输入:
/c/Users/yours/.ssh/id_rsa_B
一路回车,注意下看提示信息,git有时候抽风,生成的路径会和你手动输入进去的不一致,不过多试几次就好了
确认是否生成成功:
打开C:\Users\yours.ssh, 查看是否有两个文件,一个是id_rsa_B,一个是id_rsa_B.pub,如果没有就再重复一次生成ssh key的步骤
如果生成成功了,使用这个命令查看ssh:
cat ~/.ssh/id_rsa_B.pub //注意是pub后缀的,不要打错了
使用这个命令可以看到一长串内容,末尾是你的邮箱,将生成的这个ssh从头到尾复制到剪贴板,不要多复制,只复制文字部分
第三步 添加ssh key
打开B仓库Gerrit网址,点击右上角用户名,点击Settings进入设置界面,,点击左侧Tab栏的“SSH Keys”,找到写着"New SSH Key"的输入框,把刚刚复制的东西粘贴进去,点击“ADD NEW SSH KEY”,这个时候你的B邮箱就会收到Gerrit添加ssh key成功的邮件了
成功!完美撒花~~~