前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >github多账户切换

github多账户切换

作者头像
猫叔Rex
发布2020-06-30 12:11:56
3K0
发布2020-06-30 12:11:56
举报
文章被收录于专栏:科学计算

由于工作需要,有两个github的账号,需要经常切换账户,下面展示具体操作步骤。

假设我的两个账户信息分别是:

账户名

邮箱

git_aa

aa@git.com

git_bb

bb@git.com

准备工作

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

没有错误的话继续输入

代码语言:javascript
复制
git config --global user.name aa@git.com

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

代码语言:javascript
复制
ssh-keygen -t rsa -C aa@git.com

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

  1. 添加秘钥

.ssh目录下执行

代码语言:javascript
复制
ssh-add id_rsa

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

代码语言:javascript
复制
ssh-agent bash

之后再执行

代码语言:javascript
复制
ssh-add id_rsa

则执行结果:

代码语言:javascript
复制
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账户的信息都添加进去,内容如下

代码语言:javascript
复制
# 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. 测试是否配置成功
代码语言:javascript
复制
ssh -T aa.github.com

如果出现

代码语言:javascript
复制
Hi git_aa! You've successfully authenticated, but GitHub does not provide shell access.

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

切换账户

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

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

其中xxx表示github上的repository名字

如果提示错误:

代码语言:javascript
复制
fatal: remote origin already exists

则先输入

代码语言:javascript
复制
git remote rm origin

再输入

代码语言:javascript
复制
git remote add origin git@bb.github.com:git_bb/xxx.git
  1. push

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

代码语言:javascript
复制
git push -u origin master

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 傅里叶的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 切换账户
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档