使用Git bash切换Gitee、GitHub多个Git账号
使用Git bash切换Gitee、GitHub多个Git账号
Git是分布式代码管理工具,使用命令行的方式提交commit、revert回滚代码。这里介绍使用Git bash软件来切换Gitee、GitHub账号。
假设在gitee.com上的邮箱是alice@foxmail.com 、用户名为alice;在github上的邮箱是bob@foxmail.com、用户名为bob。称邮箱网站1alicealice@foxmail.comhttp://gitee.com2bobbob@foxmail.comhttp://github.com
| 账号 | 名称 | 邮箱 | 网站 |
|---|---|---|---|
| 1 | alice | alice@foxmail.com | http://gitee.com |
| 2 | bob | bob@foxmail.com | http://github.com |
1、安装Git软件
官网地址: https://git-scm.com/downloads
一路默认,直到安装完成。
2、通过邮箱生成公私钥
使用管理员身份打开Git bash软件,然后根据邮箱来生成rsa公钥、私钥文件,命令如下:

图(1) 使用管理员身份,运行Git Bash
通过ssh-keygen命令,来生成邮箱对应的公钥、私钥文件:
## 1) 生成alice在gitee.com上的公私钥文件
ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitee -C "alice@foxmail.com"
## 2)生成bob在github.com上的公私钥文件
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "bob@foxmail.com"
在C:\用户\XXX.ssh里,可以看到有4个文件,如图(2) 所示:
| 序号 | 文件名 | 含义 | 所属账号 |
|---|---|---|---|
| 1 | id_rsa_gitee | alice的私钥文件 | alice@foxmail.com |
| 2 | id_rsa_gitee.pub | alice的公钥文件 | alice@foxmail.com |
| 3 | id_rsa_github | bob的私钥文件 | bob@foxmail.com |
| 4 | id_rsa_github.pub | bob的公钥文件 | bob@foxmail.com |

图(2) 以.pub结尾是公钥文件,非.pub结尾是私钥文件
3、将公钥设置到网站的SSH框框里
3.1 设置alice在gitee里的SSH公钥
在gitee的账号 --》设置 --》安全设置 --》SSH公钥 --》拷贝id_rsa_gitee.pub文件里的信息到公钥输入框,然后点击【确定】即可,如图(5)所示
https://gitee.com/profile/sshkeys

图(3) 将生成的公钥id_rsa_gitee.pub内容,拷贝到gitee账号的SSH里
3.2生成bob在github.com上的公私钥文件
在github的账号 --》Setting --》SSH and GPG Keys --》SSH公钥 --》New SSH --》拷贝id_rsa_github.pub文件里的信息到公钥输入框,然后点击【确定】即可,如图(4)、图(5)所示。
https://github.com/settings/keys

图(4) 点击Setting --》SSH and GPG keys --》New SSH

图(5) 将生成的公钥id_rsa_github.pub内容,拷贝到github账号的SSH里
4 、在Git Bash里激活公钥,并授权
在Git Bash黑框框里,激活公钥,并授权访问gitee或github。
4.1 激活并授权gitee账号
激活命令(或测试命令)、授权命令gitee,如图(6)所示:
## 1) 激活公钥
ssh -T git@gitee.com -i ~/.ssh/id_rsa_gitee
## 2)授权
yes

图(6) 激活并授权gitee账号
4.2 激活并授权github账号
激活命令(或测试命令)、授权命令github,如图(7)所示:
## 1) 激活公钥
ssh -T git@github.com -i ~/.ssh/id_rsa_github
## 2) 授权
yes

图(7) 激活并授权github账号
5 、将私钥文件添加到git
5.1 将gitee的私钥文件添加到git
gitee的私钥文件是id_rsa_gitee,通过ssh-add添加到git的命令如下:
## 添加到git
ssh-add ~/.ssh/id_rsa_gitee
5.2 将github的私钥文件添加到git
github的私钥文件是id_rsa_github,通过ssh-add添加到git的命令如下:
## 添加到git
ssh-add ~/.ssh/id_rsa_github
6 、配置config文件
config文件,一般保存在~/.ssh/目录里,用于切换多个gitee、github账号。
6.1 创建config文件
## 创建config文件
touch ~/.ssh/config
6.2 填写要切换的账号和网站
文件~/.ssh/config的内容如下:
Host useEE
HostName gitee.com
IdentityFile C:\\Users\\25014\\.ssh\\id_rsa_gitee
PreferredAuthentications publickey
User useEE
Host useHub
HostName github.com
IdentityFile C:\\Users\\25014\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User useHub
其中,useEE对应alice, useHub对应bob。
就可以正常使用git命令推送到远程仓库等操作,例如:
git add .
git commit -am "test"
git push
7、常见报错情况
在使用Git将本地仓库推送到远程仓库或将远程仓库克隆到本地的时候,发生了如下错误:“fatal: Could not read from remote repository.”

解决办法:
- 使用步骤4重新激活(每次使用都需要激活)
- 使用步骤5重新添加
7.1如果出现“Could not open a connection to your authentication agent.”的错误

使用如下命令解决:
eval `ssh-agent`
然后再次执行步骤5,之后就可以正常使用git命令推送到远程仓库或下拉仓库等操作了
使用Git bash切换Gitee、GitHub多个Git账号的更多相关文章
- windows调起git bash执行sh脚本定时统计git仓库代码量
本来挺简单的一个东西硬是弄了两天 心力交瘁 找了网上不少资料 整理一下发给大家 首先是统计每个人的代码量的git命令 在网上找的 我这里做了以下修改 git log --format='%aN'|so ...
- 七、git学习之——使用GitHub、自定义Git、
原文来自 一.使用GitHub 我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的.其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人 ...
- 详细介绍如何在win7下首次实现通过Git bash向Github提交项目
详细介绍如何在win7下首次实现通过Git bash向Github提交项目 引自:http://jingpin.jikexueyuan.com/article/35944.html 作者: wddoe ...
- git bash + gitee
使用Git Bash从Gitee上下载代码到本地以及上传代码到码云Git: https://www.cnblogs.com/babysbreath/p/7274195.html 指定克隆远端分支 ht ...
- Git Bash 将本地代码提交到Github
前提:已拥有Token,并且把本地的Token配置到了自己的Github里面(没有Token的自行去百度如何配置Token) 测试一下自己的连接 ssh -T git@github.com 本地操作: ...
- 关于git bash的问题,pull不下来(登录之后,git帮你记住了,想切换其他用户)
参考博客: https://www.jianshu.com/p/8a7f257e07b8 从某个项目地址pull代码下来,老是报错 fatal: Authentication failed for ' ...
- windows下新增项目本地通过git bash推送至远程github
本地E盘workspace目录下新增了spring-cloud-alibaba-demo项目,还没有编译过,没有target等不需要推送至git的文件,所以就直接用git bash丢到github了. ...
- git使用教程及github远程仓库管理
git使用教程步骤 1.安装git 安装完后,在开始菜单里找到"git"->"Git Bash",蹦出一个类似命令行窗口,说明安装成功.2 注册git 在 ...
- 【github&&git】2、github入门到上传本地项目
[在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...
- 如何把本地代码提交到git(码云)、github代码管理项目上
前提必须安装了git工具 以下命令操作都是通过git bash操作. 将本地代码提交到码云空项目操作: D:\>mkdir inek_winprop D:\>cd inek_winprop ...
随机推荐
- 微信iOS消息拦截插件教程-第一个tweak编译过程
-安装好theos框架之后,下面用一个简单的例子进行说明编译过程 -新建一个代码目录 -进入terminal,cd到刚才的目录中 1.进入目录 2.执行/opt/theos/bin/nic.pl 3. ...
- vmware vmnat1和vmnat8在真机网络适配器中消失
在真机的网络适配器中,发现只有两张网卡.缺少vmnat1和vmnat8 一,查看虚拟网络编辑器是否连接 二,如果没有连接,勾选连接就好了. 三,如果连接了,真机网络适配器仍然只有两张网络适配器. 1. ...
- 算法金 | 10 大必知的自动化机器学习库(Python)
大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 一.入门级自动化机器学习库 1.1 Auto-Sklearn 简介: Auto-Skl ...
- WEB攻防-代码特性
WEB攻防-代码特性 目录 WEB攻防-代码特性 ASP 如何判断网站搭建是否是asp ASP常见的搭配组合 ASP语言的漏洞点(从哪一方面入手) ASP-数据库-MDB下载 ASP-数据库-ASP后 ...
- 【Socket】解决UDP丢包问题
一.介绍 UDP是一种不可靠的.无连接的.基于数据报的传输层协议.相比于TCP就比较简单,像写信一样,直接打包丢过去,就不用管了,而不用TCP这样的反复确认.所以UDP的优势就是速度快,开销小.但是随 ...
- 用 Sentence Transformers v3 训练和微调嵌入模型
Sentence Transformers 是一个 Python 库,用于使用和训练各种应用的嵌入模型,例如检索增强生成 (RAG).语义搜索.语义文本相似度.释义挖掘 (paraphrase min ...
- 2. Elasticsearch 使用插件和kibana操作
引言 在上一篇文章中1. Elasticsearch 入门安装与部署 已经教了大家如何在linux系统中安装和启动Elasticsearch,本文就带大家一起学习如何操作 Elasticsearch. ...
- rabbitMq实现系统内的短信发送设计&动态获取BEAN
rabbitMq实现系统内的短信发送设计&动态获取BEAN 1.短信非系统的重要节点操作,可以在任务完成之后,比如下单成功,发送下单成功的mq消息,短信服务接收到mq消息,动态的判断该短信的c ...
- 这个vue3的后台管理系统虽然简洁但不简单
今天介绍一个新的Vue后台管理框架,相比其他后台功能丰富管理系统,这个后台管理系统可以用干净简洁来形容--Nova-admin Nova-admin Nova-admin 是一个基于Vue3.Vite ...
- injectionIII iOS代码注入工具(下)
injectionIII iOS代码注入工具(下) 本文将解决如何使用injectionIII对主页热重载,如果对injectionIII不了解的同学请回到上篇查看 Vaccine 简单地说Vacci ...