Git中拥有不同的仓库的不同账户

Git中拥有不同的仓库的不同账户

背景:

  • 我们在工作中一般都会使用公司的gitlab仓库拉去分支开发并提交代码。而我们在学习时可能会将自己的代码远程到github上或者gitee,此时git中只有一个gitlab账号,则需要添加其他github账号在git中,这需达到工作仓库和学习仓库互不打扰,可以自由的来回切换。

步骤:

  • 1、使用git自动生成github密钥:ssh-keygen -t rsa -C "github注册的邮箱" -f ~/.ssh/github_rsa

    (github_rsa:起别名与gitlab的密钥分开)

    image-20210404205316016

    生成密钥的效果新增文件:

    image-20210404205530486
  • 2、打开github的stting进入SSH and GPS keys中新增ssh key 将刚才的公钥github_rsa.pub内容复制到ssh key里面

    image-20210405170329618
  • 3、配置自定义config,并指导本地git访问不同的仓库使用不同钥匙

    cd ~/.ssh
    vim config
    

    配置如下

    # github(个人)
    Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_id_rsa
    # gitlab(公司)
    Host git_guahao-inc
    HostName git.guahao-inc.com
    User git
    IdentityFile ~/.ssh/id_rsa
    
  • 4、测试是否连接成功

    image-20210405171627288

    针对github在输入命令后再次确认输入yes

    image-20210404215131620

    这里的github和gitlab是config中配置的host; 根据此host,git可以找到配置对应的地址

  • 5、创建本地仓库并配置让不同仓库的项目工作在不同目录

  • 用git init命令创建本地仓库(git_localRepository),然后设置局部git配置(github的名字及邮箱)

  • image-20210405173751925

  • 注之前gitlab已经设置过全局配置不用在重复

  • 6、从远程仓库clone

    • image-20210405174341384
      git clone git@github:YYB1024/TestRepository.git
      
      

      注:原本从仓库clone项目的指令是, git clone git@github.com:YYB1024/TestRepository.git

      因为配置了config, 所以使用git会使用host(github)自动查找到git@github.com

      image-20210405174646751
  • 7、IDEA测试

    • 提交代码到远程仓库

      image-20210405175211752
posted @ 2021-04-05 18:00  yyb1024  阅读(348)  评论(0编辑  收藏  举报