• 本地电脑添加多个ssh到不同的git仓库


    最近一个问题,公司原来有git仓库,后来又新建了一个git仓库,需要把原来的git仓库上的代码迁移到新的git的仓库,但是由于有部分项目还是需要在老的git仓库,所以就会存在同时有两个git仓库的情况,这个时候我们需要多个ssh并存,怎么操作了,来看下面例子:


    新创建一个public key

    假设之前电脑上已经配置过了一次git ssh(在~/.ssh目录下),通过下边命令创建一个新的key。

    $ ssh-keygen -t rsa -C “your_email@youremail.com”
    

    注意在输入命令敲回车后会提示让你指定文件名,这时候我们不要用默认的,否则会覆盖现在已有的密钥文件。我们指定一个新的文件名,我这里是id_rsa_githhub

    Enter file in which to save the key (/c/Users/lismo/.ssh/id_rsa): /c/Users/lismo/.ssh/id_rsa_github
    

      

    这时候检查~/.ssh目录,应该至少有四个文件,分别是:

    • id_rsa
    • id_rsa.pub
    • id_rsa_github
    • id_rsa_github.pub

    把新生成的key关联到github

    在github上把新生成的SSH key添加进去,这步同之前添加SSH key的操作一样。进入github->Your Profile,左侧点击SSH and GPS keys,然后点击New SSH key。

    添加到SSH认证代理

    在本地通过下边的命令

    $ ssh-add ~/.ssh/id_rsa_github
    

    有的可能会有报错,提示“Could not open a connection to your authentication agent.”,这是因为你没有开SSH认证代理造成的,先执行如下命令,然后再添加

    eval $(ssh-agent)
    

      

    成功了会有如下提示

    Identity added: /c/Users/lismo/.ssh/id_rsa_github (your_email@youremail.com)
    

    创建config文件

    我们需要告诉git每个key都在什么情况下需要用到。在~/.ssh/目录下创建config文件,也可以通过下边命令创建

    $ touch ~/.ssh/config
    打开config文件,写入如下内容
    

     

    #gitlab
    Host gitlab.com
      HostName gitlab.com
      User git
      IdentityFile ~/.ssh/id_rsa
    #github
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa_github

    测试

    现在可以通过git clone从新配置的github上克隆下代码试试看配置是否成功。
    或者指向远程新的地址:

    git remote set-url origin 新的远程地址
    
    git remote -v      查看当前新的远程地址
    

    参考链接:https://blog.csdn.net/LIsmooth/article/details/108141989

  • 相关阅读:
    oracle数据库的增长改查
    Delete、truncate、drop删除数据的区别
    oracle数据库分页查询
    Sql语句中的null值
    RestEasy 3.x 系列之三:jsonp
    跨域请求解决方法(JSONP, CORS)
    JdbcUtils 系列1
    RestEasy 3.x 系列之一:Hello world
    JAVA中int、String的类型转换
    struts2 的验证框架validation如何返回json数据 以方便ajax交互
  • 原文地址:https://www.cnblogs.com/alice626/p/15466061.html
Copyright © 2020-2023  润新知