• 同一台电脑访问gitee多个仓库代码


             在开发上我们经常遇到,需要跟别人共享代码,特别是跟有些客户联合开发的情况下,有很多个客户。有些git仓库是客户建立的,比如有两个客户A和分布建了gitA和gitB两个代码仓库。我们在支持这两个客户的时候可能是同一个工程师,那这个工程师怎么访问这两个git代码仓库呢?

           我们都比较熟悉的下载代码使用git clone通过ssh下载git仓库代码;要下载这个仓库的代码,我们就需要把我们电脑上的ssh公钥的key配置到这个仓库权限里面去;通过gitA的公钥管理添加公钥即可;但是如果有两个工程呢?实践证明不能使用同一个公钥,提示公钥被他人占用了,那怎么办呢?

      可以这样:再生成一个公钥,通过ssh-keygen来;

    ssh-keygen -t rsa -C "youremail" 
    

    回车,保存key的文件名称需要跟以前的不一样,不然就覆盖掉了,比如输入id_rsa_key2;

    有了id_rsa_key2.pub,我们把它的内容粘贴到gitB的公钥管理里面去添加上,这样添加了在git仓库端的配置就算完成了。

       迫不及待的试试同步代码,发现后面添加的gitB同步不了代码,被拒绝了?gitA这个时候是可以正常同步的;

    那怎么办?

    需要配置ssh的config,把几个公钥都配置进去:

    # Default GitHub  gitA
    Host gitee.com
      HostName gitee.com
      User git
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/id_rsa1

    # id_rsa_key2  gitB
    Host tsgitee.com
      HostName gitee.com
      User git
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/id_rsa_key2

    我们可以发现其实gitA,gitB的HostName都是一样的,同一个平台的,gitee.com的。user都是git,证书存放的位置就各有一些不一样了,根据实际密钥名称来填写。

    /*****************************************************************************************************/
    声明:本博内容均由http://blog.csdn.net/edsam49原创,转载请注明出处,谢谢!
    /*****************************************************************************************************/

    注意,我们发现Host是不大一样的,因为gitA和gitB的HostName是一样的,没法区别了,只有通过一个Host的别名来区分一下该使用哪对密钥。那么gitB的下载地址本身是:git@gitee.com:ds/gitB.git,你发现通过这个地址没法下载,就算以前下载了也sync不来代码;

    那得使用上Host的别名啊!地址变更一下:git@tsgitee.com:ds/gitB.git,这样子一改变,发现下载代码好使了,

    这样看git remote信息

    这样下来,就可以同时支持下载到两个工程的代码了。

  • 相关阅读:
    iPhone 14参数曝光,mini版本被砍掉;谷歌组建Web3团队;可在浏览器中运行Python应用的框架发布|极客头条
    Kudu知识点
    [bug] mysql 时间与本地不一致
    C++零基础教程(C++中的类1)
    从零开始:PHP实现阿里云直播的简单方法!
    内存管理_memblock
    Python基础知识从hello world 开始(第四天完结)
    LEETCODE 169 189 121 122 55
    Linux输出转换命令 xargs
    STM32两轮平衡小车原理详解(开源)
  • 原文地址:https://blog.csdn.net/sundesheng125/article/details/134517749