github同一账户+多个库

目标

  1. 我的情况是,既要向自己的public库提交代码,又要向别人的private库提交代码
  2. 网上搜到的情况一:github上有多个账号,都要向自己的库提交代码
  3. 网上搜到的情况二:多个git托管源(比如github、bitbucket、gitlab、oschina、coding.net)上有不同的账号,分别提交到对应的git托管源

问题描述

  1. 之前在本机用ssh-keygen生成了~/.ssh/id_rsa和id_rsa.pub,放到了自己的Account->Settings->SSH and GPG keys里。别人的库Settings->Deploy keys里想添加这个公钥,会报"key is already in use"
  2. 不添加公钥,push代码时会报"Permission denied"

解决方法

其实都是大同小异,关键是不同的库生成不同的key-pair,并配置config保证找到正确的私钥:

  1. 对不同的库生成不同的key-pair,比如自己所有的库用默认的id_rsa,别人的库用id_rsa_projectName
ssh-keygen -t rsa -C "test@gmail.com" // 注意修改key-pair的名字
ssh-add -K ~/.ssh/id_rsa // 我试下来似乎不用加到ssh-agent里?
ssh-add -K ~/.ssh/id_rsa_projectName
ssh-add -l
  1. 编辑~/.ssh/config,保证ssh在push的时候能找到正确的私钥
    ```
    vi ~/.ssh/config

    Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa
    #ProxyCommand=nc -X 5 -x localhost:1086 %h %p

    Host projectName.github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_projectName

    ssh -T git@github.com //测试一下,看配置是否正确
    ssh -T git@projectName.github.com
    ```
  2. 别人的库要注意:
git clone git@projectName.github.com:UserName/projectName.git //新clone时
或者修改项目中的.git/config文件
[remote "origin"]
        url = git@projectName.github.com:UserName/projectName.git
参考

转载于:https://www.cnblogs.com/AlexanderYao/p/7271609.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值