同台电脑上使用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 "a1@email.com"
  1. 生成第二个key时,使用另外一个邮箱,跟生成第一个Key有点区别,在输入保存名称时,要自主命名一下。
ssh-keygen -t rsa -C "a2@email.com"
......
Enter file in which to save the key (/Users/Administrator/.ssh/id_rsa):id_rsa_2

配置config文件

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

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

#账号2配置(a2@email.com)
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 git@github.com: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密钥

putty key generator.png

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

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中的配置,但是只改路径时,怎么都应用保存不了,百度半天也无解。最最后勾选了上面代理的选项,才保存进去了。

SSH client配置.png

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

后记

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 说明 本文转载:原GitHub地址:https://github.com/xirong/my-git ======...
    高巨龙阅读 2,249评论 1 2
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,721评论 9 163
  • 大部分内容是翻译至Kafka The Definitive Guide,有翻译不好的地方请见谅,因为理解问题翻译错...
    谢谢那些曾经丶阅读 246评论 0 1
  • 今天老罗阿姨炒菜剩下好大一盆青菜,我跟王姐说,要不你拿点米起来,我让她炒面。王姐说,你别管,她愿意啥安排,就...
    秀发飘飘阅读 190评论 0 0