目标

  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

参考

github同一账户+多个库的更多相关文章

  1. 作业二:Github注册账户过程

    Github注册账户过程如下: Github的注册及使用说明: [1]http://www.aehyok.com/Blog/Detail/73.html [2] http://www.cnblogs. ...

  2. github + SourceTree管理自己的库并上传到cocoapods及各种坑的解决办法

    一.上传写好的库到github(我这里使用SourceTree客户端) 1.在github上创建一个仓库 2.将仓库拉倒本地 复制仓库地址 将刚才复制的地址粘贴到这里 3.上传项目到github 将写 ...

  3. 在GitHub注册账户的过程

    (1)第一步:首先起一个属于自己用户的名字(username),用户名字只能包含字母数字的字符或者单个连字符,不能只用单个连字符开始或者结束(only contain alphanumeric cha ...

  4. 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?并在Github注册账户,写一篇博客记录注册的过程。

    问题一:上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?(以下内容为网上查询所得) Microsoft TFS(Team Foundation Server): 优点: ...

  5. github 中删除/更名版本库(repository)

    问题描述: github 中版本库创建/删除/更该名称 问题解决:            (1)创建版本库(Repository) 注:        在上图中的+按钮图标指示的是创建版本库的按钮 注 ...

  6. github 多账户配置

    一直以来git都是自己业余玩玩,虽然也在github上有个账户,也只是小打小闹,弄了若干个测试仓库.最近公司要从TFS迁移到Gerrit,也算是正式用git了.不过遇到的一个问题就是账户问题,一个个人 ...

  7. Github注册账户过程

    首先打开网站https://github.com/ 第一个是输入用户名第二个是邮箱第三个是自己的密码然后点    sign up for github 此时会有个邮箱注册的验证进入注册的邮箱点击认证. ...

  8. Github注册账户

    这是注册页面: 注册完后应该会受到邮件,但我一直没有收到,换了邮箱也没有用 ± 账户可以登上去却没办法创建仓库.

  9. github第一次引用开源的库

    想要使用这个一个东西 第一步就是在中添加上面那句话. 这个应该是俩种使用方法,一种用于java中一个用作控件引用 此时就能使用我们引用的这个库了.

随机推荐

  1. CentOS下使用tcpdump网络抓包

    tcpdump是Linux下的截获分析网络数据包的工具,对优化系统性能有很大参考价值. 安装 tcpdump不是默认安装的,在CentOS下安装: yum install tcpdump 在Ubunt ...

  2. Python 调用 C# dll库最简方法

    1.为什么要跨平台编程?双平台编程或多平台编程,只是为提供更好开发更兼容的解决方案的一种手段,编程时服务于产品和客户的,也是因地制宜. 先安装python所需的库clr ,我这里已经安装了,可以去对应 ...

  3. CF1062E Company

    CF1062E Company 链接 cf luogu 题目大意 给定一颗树,有若干个询问,每个询问给出 l,r,要求编号为 ll~rr 的点任意删去一个之后剩余点的 LCA 深度最大,输出删去点的编 ...

  4. 使用Java SDK实现离线签名

    严格来说,tx-signer并不属于SDK,它是bytomd中构建交易.对交易签名两大模块的java实现版.因此,若想用tx-signer对交易进行离线签名,需要由你在本地保管好自己的私钥. 如果你的 ...

  5. 【BUAA-OO】第二单元作业总结

    第二单元作业总结 ——电梯恐惧症患者的极限自救 一.   第一次作业程序分析 1.     设计策略简略分析 线程:主线程.输入线程和电梯线程,另有一个持有请求队列的调度器,一个对输入进行处理的Req ...

  6. toFixed()精度丢失;复选框全选、取消

    一.精度丢失和重写toFixed()函数 1.重写toFixed() Number.prototype.toFixed = function(length){ var carry = 0; //存放进 ...

  7. gdb 命令汇总

    https://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_109.html whatis expr 举例 whatis  uint64      -& ...

  8. EOJ Monthly 2019.2

    题解 A 回收卫星 #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/s ...

  9. python日志模块的使用

    学习一下python的日志模块logging,可以参考如下博客,写得很详细 https://www.cnblogs.com/yyds/p/6901864.html https://www.cnblog ...

  10. ERROR:scala:Error:Object scala.runtime in compiler mirror not found

    我的项目是sbt项目,今天早晨的时候还好好的,结果中午吃了个饭回来就特么的编译就报错了,真是闹心 报错截图: 解决方案: 删除idea的缓存文件 然后重新启动idea,重新下载jia包,在进行编译,就 ...