Git多账户设置

githut/gitlib/oschina上各有一个账户,但是ssh默认读取个人账户下.ssh文件夹下的id_ras相关账户,如何区别配置?

1. 在.ssh下为各个账户生成key文件

以github为例,假设用户的注册邮箱user1@qq.com,取id_rsa_github为key名字
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "user1@qq.com"

2. 在.ssh文件夹下新增一个config文件.

# github (用户名是user1@qq.com)
Host github
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github

# gitoschina(user2@qq.com)
Host gitoschina
HostName git.oschina.net
User git
IdentityFile ~/.ssh/id_rsa_oschina

3. 可以进行每个项目的处理了

比如clone指令
git clone git@gitoschina:user2/testProject.git
注释:其中的gitoschina就是前面config中配置的,实际解析的时候,会解析到git.oschina.net

4. 可以为每个账户设置账户

比如在github中配置用户user1和邮箱user1@qq.com
cd 进入该账户对应的文件夹
git config  user.email "user1@qq.com"
git config  user.name "user1"

备注: 如果git config中假如了global参数, 则会修改全局配置.gitconfig文件, 该文件在windows用户目录下, 和.ssh文件夹同级.

5. 使用GITKRAKEN的问题

gitkraken似乎无法使用.ssh的config文件,其中配置的域名无法解析,对应的密钥也读取不到。

第一种办法:

比较麻烦,

1.每次切换新的账户后,如果使用的是不同公钥,因为没办法在config文件中独缺,则需要在gitkraken中的配置页面authentication中修改公钥文件,确保密钥读取的对;

2.如何确保域名可以解析又有两个方案,

    方法一是在config中不配置域名alias,这样git连接的时候用真实域名+config中解析出指定的公钥,没问题;gitkraken用真实域名+gitkraken配置的公钥(和前面公钥一样,只不过gitkraken只能从自己的配置中读),也没有问题;

    方法二是config中保留域名的alias,原生git没问题;但是这个时候gitkraken域名解析失败,需要修改hosts来兼容,比较挫。

 

第二种办法:

使用gitkraken配置中的一个选项,use local ssh agent,好像只能安装putty,且我自己测试的时候发现安装后有副作用,影响了原生git的使用,不推荐

bb282f80df9ecf12a13a77ec241293e2f3a.jpg

 

 

转载于:https://my.oschina.net/u/1439296/blog/668639

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值