同台电脑上使用2个git账号 并用TortoiseGit管理

之前做自己的项目,上传github之后,再更新公司项目,发现公司项目里的git账号变成私人的了。git管理虽然很高级,但是配置真的伤死脑筋,为了同时使用2个账号,也折腾了一番。

git使用的是SSH加密协议,github网站里用户setting中需要配置相应的SSH keys,这些keys是在C:\Users\Administrator.ssh下管理的。如果需要管理2个账户,一般要生成2套SSH key。

如何生成SSH key

  1. 在.ssh文件夹下打开git Bash,输入下面指令生成第一个SSH key,之后连敲3次回车就可以生成默认的key了。
ssh-keygen -t rsa -C "[email protected]"
  1. 生成第二个key时,使用另外一个邮箱,跟生成第一个Key有点区别,在输入保存名称时,要自主命名一下。
ssh-keygen -t rsa -C "[email protected]"
......
Enter file in which to save the key (/Users/Administrator/.ssh/id_rsa):id_rsa_2

配置config文件

新建一个config文件,内容编辑如下:

#账号1配置([email protected])
Host gitlab.com
HostName gitlab.com 
User git 
IdentityFile ~/.ssh/id_rsa

#账号2配置([email protected])
Host github
HostName github.com 
User git 
IdentityFile ~/.ssh/id_rsa_2

修改github中SSH keys配置

在github网站里用户setting中,将id_rsa_2的内容拷贝到新建的SSH keys中。到此其实就可以了。以下为将github上的项目克隆到本地。

git clone [email protected]:a2/projectName.git   //a2是账户2的用户名

TortoiseGit设置

如果想用TortoiseGit来管理git,还需要继续配置。

TortoiseGit使用的是扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。因此需要用到TortoiseGit的putty key generator工具来生成适用于TortoiseGit的ppk密钥。

使用putty key generator可以生成成套的适用git的rsa密钥和适用于TortoiseGit的ppk密钥,这里只用上面已生成的rsa密钥来生成ppk密钥

同台电脑上使用2个git账号 并用TortoiseGit管理_第1张图片
putty key generator.png

将刚才生成的id_rsa_2引入,生成ppk密钥,还存在.ssh中。在刚才从git上克隆到本地的项目中打开TortoiseGit的setting按下图配置。

同台电脑上使用2个git账号 并用TortoiseGit管理_第2张图片
TortoiseGit的setting配置.png

基本到这步也应该可以了,但是我又遇到一个问题,就是在push代码的时候一直报错:error: cannot spawn C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe: No such file or directory fatal: unable to fork

发现是因为我的TortoiseGit是安装在D盘的,所以找不到。仍然要改setting中的配置,但是只改路径时,怎么都应用保存不了,百度半天也无解。最最后勾选了上面代理的选项,才保存进去了。

同台电脑上使用2个git账号 并用TortoiseGit管理_第3张图片
SSH client配置.png

至此终于可以通过TortoiseGit上传github了,公司的项目也可以正常拉取。

后记

其实公司的git是配置在gitlab上,没有使用SSH来管理,所以个人的github账户配置也没有这么麻烦。正常生成一组公私密钥,即id_rsa和id_rsa.pub,将id_rsa.pub拷贝到github里setting的新建SSH keys中,使用SSH地址去克隆项目到本地就行了,TortoiseGit也能正常使用!

你可能感兴趣的:(同台电脑上使用2个git账号 并用TortoiseGit管理)