使用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 ...
随机推荐
- 从零开始写 Docker(十七)---容器网络实现(中):为容器插上”网线“
本文为从零开始写 Docker 系列第十七篇,利用 linux 下的 Veth.Bridge.iptables 等等相关技术,构建容器网络模型,为容器插上"网线". 完整代码见:h ...
- 腾讯手游助手 WIN11 蓝屏 DPC_WATCHDOG_VIOLATION
DPC_WATCHDOG_VIOLATION 退出QQ,或者下载最新版本QQ.
- 网络问题排查必备利器:Pingmesh
背景 当今的数字化世界离不开无处不在的网络连接.无论是日常生活中的社交媒体.电子商务,还是企业级应用程序和云服务,我们对网络的依赖程度越来越高.然而,网络的可靠性和性能往往是一个复杂的问题,尤其是在具 ...
- 计算机网络实验一:vlan的创建与划分
这个是 pkt文件 有两道题 所以我是两个文件 https://pan.quark.cn/s/d4170897cb59 https://pan.quark.cn/s/da48878c77f5 发现 复 ...
- 记录一次 OpenStack 集群在创建虚机后无法获取 IP 的问题
现象 所有的组件状态都是正常工作的,DHCP 服务正常工作,在个个虚拟网络设备端口抓包,发现 OpenVSwitch 上 DHCP 包可以通行,虚机获取 DHCP Discover 请求可以正常发出, ...
- Netty(二)线程模型
1. Netty概述 虽然Java已经提供了NIO,但原生NIO仍存在部分问题: NIO的类库和API繁杂,使用麻烦.需要熟练掌握Selector.ServerSocketChannel.Socket ...
- C#的多线程UI窗体控件显示方案 - 开源研究系列文章
上次编写了<LUAgent服务器端工具>这个应用,然后里面需要新启动一个线程去对文件进行上传到FTP服务器,但是新线程里无法对应用主线程UI的内容进行更改,所以就需要在线程里设置主UI线程 ...
- 【创龙全国产T3核心板】赋能工业领域新发展
在工业5.0时代浪潮持续推进并具备确定性的时代背景下,工业领域创新升级的需求日益增长,为满足各种工业环境下的应用需求,面向工业领域,创龙科技推出了基于全志T3处理器的元器件全国产化工业级核心板--SO ...
- java --面试题大全
J2EE面试题 文档版本号:V2.0 2016年11月 目 录 1. Java基础部分 8 1.1. 一个".java"源文 ...
- GUI测试还能这么玩(Page Code Gen + Data Gen + Headless)
标签(空格分隔): GUI测试还能这么玩(Page Code Gen + Data Gen + Headless) 页面对象自动生成 在前面的文章中,我已经介绍过页面对象(Page Object)模型 ...