github多账户切换

  由于工作需要,有两个github的账号,需要经常切换账户,下面展示具体操作步骤。
  假设我的两个账户信息分别是:

账户名邮箱
git_aaaa@git.com
git_bbbb@git.com

准备工作

  1. 生成两个账户的秘钥
      首先设置用户名和邮箱,在Git Bash 的命令行中输入:
git config --global user.name git_aa

没有错误的话继续输入

git config --global user.name aa@git.com

生成秘钥:
切换到.ssh目录下,执行

ssh-keygen -t rsa -C aa@git.com

  输入此命令后,按照提示,输入秘钥的名字和设置的密码;也可以连续输入3次回车,这样就会生成自动命名为id_rsaid_rsa.pub两个文件,这样密码就为空;文件位置在~/.ssh/下面,其中~\home目录,Windows上在C:\User\UserName下,MAC上在User\UserName下。

  1. 添加秘钥

.ssh目录下执行

ssh-add id_rsa

如果报错:Could not open a connection to your authentication agent.
则先执行

ssh-agent bash

之后再执行

ssh-add id_rsa

则执行结果:

Identity added: id_rsa (id_rsa)
  1. 复制秘钥到git账号里

在github的settings->SSH and GPG keys->New SSH key中,设置好title,然后把id_rsa.pub文件中的内容复制上来,点击Add SSH key

  1. 对第二个git账户执行上面1、2、3步的操作,注意生成的密码不能跟第一次的秘钥名相同。假设这两个git账户的秘钥分别为:aa_rsa和bb_rsa。

  2. 修改config文件

将两个git账户的信息都添加进去,内容如下

# default
Host aa.github.com   # 前缀名可以任意设置
HostName github.com
User git
IdentityFile ~/.ssh/aa_rsa

# two
Host bb.github.com  # 前缀名可以任意设置
HostName github.com
User git
IdentityFile ~/.ssh/bb_rsa

config文件的规则也很简单,就是在每个Host寻找对应的秘钥。

  1. 测试是否配置成功
ssh -T aa.github.com

如果出现

Hi git_aa! You've successfully authenticated, but GitHub does not provide shell access.

表示配置成功,再测试bb是否配置成功。

切换账户

假设当前是在git_aa账户下,我们想切换到git_bb账户下,操作如下

  1. 切换当前用户名和邮箱(可不设置)
git config --global user.name git_bb
git config --global user.email bb@git.com
  1. 设置远程git
git remote add origin git@bb.github.com:git_bb/xxx.git

其中xxx表示github上的repository名字

如果提示错误:

fatal: remote origin already exists

则先输入

git remote rm origin

再输入

git remote add origin git@bb.github.com:git_bb/xxx.git
  1. push

设置好远端后,直接push即可

git push -u origin master

需要注意的是,如果使用软件(Smartgit或者Sourcetree等)进行push时,可能会失败,但使用命令行基本不会有问题。

OK,大功告成!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值