在一台电脑上配置多个git账号

Bug

  1. 由于平常学习工作中需要用到多个git账号,不一定是GitHub,可能是gitlab或者gitee等。

  2. 适用场景:比如在公司的时候有一个公司的git账号,用的是gitlab,但是自己也想通过自己的github账号提交自己的项目到GitHub仓库。由于账号不同,提交代码肯定是会报错的,这种情况下就需要在本地切换git账号了。

DeBug

目前假设电脑上已经配置了一个github账号,并且设置了SSH密钥,需要再添加另外一个github账号,并设置该账号的SSH

目前有两个账号:

  1. lisimoner—15927521530@163.com(目前已添加该账号的SSH)
  2. lijianqing5—lijianqing@cug.edu.cn

设置SSH密钥

由于之前已经添加了一个SSH密钥,因此.ssh文件夹内已经存在了id_rsa和id_rsa_pub文件,需要再次添加一个SSH密钥,将会生成另外两个类似的文件
2020-07-14_222726.png

  1. 在.ssh文件夹内打开命令行工具或者git bash,使用ssh-keygen -t rsa -C "lijianqing@cug.edu.cn"

image-20200714223308260.png

  1. 输入命令后,提示需要输入对应的文件名,不能与之前的重复,否则会覆盖之前生成的SSH密钥,输入后直接回车,然后输入密码,可以直接回车跳过,之后再次输入密码,也直接回车跳过,当出现下图时,表明已经生成成功了

    image-20200714223624504.png

  2. 在.ssh文件中将会出现另外两个文件

image-20200714223741183.png

  1. 打开id_rsa_cug.pub文件,这就是SSH密钥,将其全部复制到github中

    1. 在GitHub中打开Settings,然后点击SSH and GPG keys,并点击New SSH key

      image-20200714224212623.png

    2. 添加完后,将会显示新添加的SSH密钥

      image-20200714224522284.png

配置config文件

  1. 在.ssh文件夹中新建一个config文件,没有后缀名

    image-20200714224943355.png

  2. 编辑config文件

    # lisimon
    Host lisimon
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_rsa
    
    # lijianqing
    Host lijianqing
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_rsa_cug
    
  3. 通过ssh -T判断SSH密钥是否有效,当显示下列内容后,说明设置SSH密钥成功

    $ ssh -T lisimon
    Hi lisimoner! You've successfully authenticated, but GitHub does not provide shell access.
    $ ssh -T lijianqing
    Hi lijianqing5! You've successfully authenticated, but GitHub does not provide shell access.
    

尝试切换账号

  1. 在不清楚当前电脑登录的是哪个github账号下,可以通过git config user.email命令来查看邮箱,通过git config user.name命令来查看github账户名

  2. 账号的切换可以通过git remote set-url origin git@[HostName]:[GitHubName]/[RepositoryName].git命令来切换。其中[HostName]是指之前在config文件配置中的Host名,[GitHubName]是GitHub的用户名,与SSH密钥的邮箱账号对应,[RepositoryName]是GitHub账号中的项目文件所在的仓库名

  3. 下图是两个不同的账号下clone的项目文件,需要将其分别push到不同的账号中

    image-20200714233938516.png

  4. 先对第一个进行操作,通过以下命令,完成了文件的提交

    image-20200714234507677.png

  5. 提交第二个文件

    image-20200714234805914.png

总结

  1. 在一台电脑上配置多个GitHub账户,主要包括以下三个步骤

    • 配置SSH密钥
    • 配置config文件
    • 配置git仓库的远程地址-git remote set-url origin git@[HostName]:[GitHubName]/[RepositoryName].git
  2. 其中需要注意的是:

    • 不同的SSH密钥文件需要不同名,必须放在.ssh文件夹中
    • config文件配置记清楚不同账号的Host名,在配置远程仓库地址时需要用到
    • 配置远程仓库地址时,不同的地址,需要修改本地的Host名,GitHub账户名以及远程仓库的地址

参考链接: https://segmentfault.com/a/1190000015055133

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值