同一台电脑上配置两个码云账号实在是太难了,对于一直用tortoiseGit管理的我来说,更是男上加男♂,搞了一下午总算配置好了,趁还记得赶紧记录下来,免得以后又忘了。
貌似不仅仅是两个码云账号,两个github账号也是同理,不过我也没有实践过,不好确定。
首先准备好两个oschina(码云)账号:
qq123456789(账号1)
aaaa654321 (账号2)
1.生成账号1的SSH key
打开git bash
输入以下代码
ssh-keygen -t rsa -C "qq123456789"
按3次回车,可以看到上面给了个地址,顺腾摸瓜找过去,会发现多了这两个文件
打开pub后缀的文件,复制里面的全部内容,然后转到码云的设置里,把内容复制到下面的公钥框里,然后取个标题确定就行了。
2.生成账号2的SSH key
继续输入以下代码(文件名id_rsa_qq可以自己更改)
ssh-keygen -t rsa -f /c/users/admin/.ssh/id_rsa_qq -C "aaaa654321 "
后面的操作跟账号1一样,得到生成的公钥,登录到对应的账号里粘贴过去
3.添加密钥到 SSH Agent
继续输入以下命令添加密钥:
ssh-agent bash
ssh-add /c/users/admin/.ssh/id_rsa
ssh-add /c/users/admin/.ssh/id_rsa_qq
4.创建并配置config文件
在.ssh目录下创建一个config文件(无后缀)。
(我是直接在git bash里创建的,跳转到对应的目录,直接输入vi config,然后按键盘上的i键启用编辑,编辑好了后输入:wq回车就完成配置了。)
每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile即可。
#配置账号1
Host git.oschina.net
HostName git.oschina.net
IdentityFile C:\\Users\\A\\.ssh\\id_rsa
PreferredAuthentications publickey
User q541584198
#配置账号2
Host git.oschina.net.qq
HostName git.oschina.net
IdentityFile C:\\Users\\A\\.ssh\\id_rsa_qq
PreferredAuthentications publickey
User hal81972552
5.测试是否配置成功
打开 git bash,输入以下命令测试两个账号是否配置成功:
ssh -T git@git.oschina.net
ssh -T git@git.oschina.net.qq
结果只要看到自己码云上的名字了,就说明成功了
6.取消全局的用户名和邮箱配置
因为一台电脑上配置了多个git账号,所以就不能再配置全局的用户名和邮箱了,而是在不同的仓库下,配置相应的局部用户名和邮箱即可。
打开 git bash,输入以下命令取消全局配置:
git config --global --unset user.name
git config --global --unset user.email
7.为某个仓库配置用户名和邮箱
进入某个仓库根目录,打开 git bash,输入以下命令为其配置局部用户名和邮箱:
git config user.name "xx"
git config user.email "xx@xx.com"
git config --list (查看配置)
可能发生的问题,这一段我没有经历过,是参考别人的,所以不确定是否正确,但也贴出来了
"The authenticity of host xx can’t be established” 解决办法: A.修改C:\Program Files\Git\etc\ssh\ssh_config文件 在文件的最后,添加如下内容后保存
StrictHostKeyChecking no UserKnownHostsFile /dev/null B.重新启动sshd服务 打开
git bash,输入以下命令重启sshd服务:/etc/init.d/sshd restart ( 或 service sshd restart )
作者:MissJodie 链接:http://www.imooc.com/article/76305?block_id=tuijian_wz
来源:慕课网
我们先用命令行克隆目标项目(暂时还不会配置用tortoiseGit克隆)
git clone git@git.oschina.net.qq:hal81972552/Shop
至此,我们已经可以用git的命令行操作两个账号了,我也现学现用的用了几句测了下,发现的确是可以的。但当我一操作tortoiseGit的时候,才发现tortoiseGit完全用不了。克隆不常用就算了,但提交推送拉取这些也不能用就麻烦了。那么接下来就配置tortoiseGit(但是实际上我只是第二个账号用不了,第一个还是可以正常使用的,所以后面的操作我懒了一点,只配置了第二个账号,没有去配置第一个)
8.生成ppk密钥
我是win10直接在开始栏搜索putty
找到了这个工具
打开后,导入第二个账号的文件id_rsa_qq,是没有后缀的那个
点击保存为ppk文件
9.配置TortoiseGit
这里填个邮箱名称信息(跟配置无关,只是提交时需要你填写)
这里选中刚刚生成的密钥
这里把下面的路径改为git安装目录下的ssh.exe
好了,虽然tortoiseGit配置的这几步看起来不难,但也搞了我1个小时左右,配置可真是麻烦啊,不过最后还是没能搞定直接用tortoiseGit克隆项目,不过也无妨,毕竟不是经常用的到克隆的,就当做学习命令行了。
参考资料:
在同一台电脑上配置两个oschina(码云)账户
同台电脑上使用2个git账号 并用TortoiseGit管理
一台电脑上配置多个git账号(gitee),向不同git线上仓库提交(命令行/TortoiseGit同时) 代码