zoukankan      html  css  js  c++  java
  • Git同时使用不同平台代码仓库

    问题描述

    公司项目使用代码仓库为gitinn/gitlab等,个人项目使用github进行托管,而公司项目和个人项目设置的邮箱和用户名是不同的,而ssh的密钥对又是基于这两个信息生成的,所以此时想要同时使用两个平台的代码仓库,则会显示仓库不存在或没有权限之类的报错。

    刚开始是使用gitinn/gitlab作为仓库的,克隆github项目时会报错:

    直接将将id_rsa.pub公钥加入到github中,但是仍然报错,继续克隆项目则会提示:

    此时意识到,当前~/.ssh下的id_rsa和id_rsa.pub是配置成了gitinn/gitlab的密钥对,而github平台的ssh秘钥对是配置了github_rsa文件,所以需要生成该文件名的密钥对才能访问到github仓库

    解决之道

    (1)配置.ssh/config文件, 使得克隆不同平台项目时使用不同的秘钥文件

    #gitinn
    Host gitinn.com
    Hostname git.gitinn.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    
    #github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_rsa
    

    (2)生成github_rsa和github_rsa.pub密钥对

    ssh-keygen 
    

    具体执行流程:

    (3)此时将生成的 ~/.ssh/github_rsa.pub文件放到github平台,然后测试是否有权限

    ssh -T git@github.com
    

    (4)克隆成功

  • 相关阅读:
    Grunt jshint Warning: Path must be a string . Received null Use
    bootstrap滚动监视原理实现
    Bootstrap模态框原理分析及问题解决
    LeetCode54. 螺旋矩阵
    LeetCode53. 最大子序和
    mysql servers实现层拼写SQL
    easyUI 分页 获取页面
    excel导入功能
    easyUI遮罩
    uuid生成
  • 原文地址:https://www.cnblogs.com/zqunor/p/10482646.html
Copyright © 2011-2022 走看看