zoukankan      html  css  js  c++  java
  • 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
    

    参考

  • 相关阅读:
    剑指Offer-Python(6-10)
    Python对MySQL进行增删查改
    剑指Offer-Python(1-5)
    转载:Python中collections模块
    读取单词文件并查某个单词出现的次数
    Python正则表达式-换行的匹配
    Python爬虫-换行的匹配
    转载:Pycharm的常用快捷键
    Python 正则表达式
    Python的类与对象
  • 原文地址:https://www.cnblogs.com/AlexanderYao/p/7271609.html
Copyright © 2011-2022 走看看