使用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.”

解决办法:

  1. 使用步骤4重新激活(每次使用都需要激活)
  2. 使用步骤5重新添加

7.1如果出现“Could not open a connection to your authentication agent.”的错误

使用如下命令解决:

eval `ssh-agent`

然后再次执行步骤5,之后就可以正常使用git命令推送到远程仓库或下拉仓库等操作了

使用Git bash切换Gitee、GitHub多个Git账号的更多相关文章

  1. windows调起git bash执行sh脚本定时统计git仓库代码量

    本来挺简单的一个东西硬是弄了两天 心力交瘁 找了网上不少资料 整理一下发给大家 首先是统计每个人的代码量的git命令 在网上找的 我这里做了以下修改 git log --format='%aN'|so ...

  2. 七、git学习之——使用GitHub、自定义Git、

    原文来自 一.使用GitHub 我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的.其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人 ...

  3. 详细介绍如何在win7下首次实现通过Git bash向Github提交项目

    详细介绍如何在win7下首次实现通过Git bash向Github提交项目 引自:http://jingpin.jikexueyuan.com/article/35944.html 作者: wddoe ...

  4. git bash + gitee

    使用Git Bash从Gitee上下载代码到本地以及上传代码到码云Git: https://www.cnblogs.com/babysbreath/p/7274195.html 指定克隆远端分支 ht ...

  5. Git Bash 将本地代码提交到Github

    前提:已拥有Token,并且把本地的Token配置到了自己的Github里面(没有Token的自行去百度如何配置Token) 测试一下自己的连接 ssh -T git@github.com 本地操作: ...

  6. 关于git bash的问题,pull不下来(登录之后,git帮你记住了,想切换其他用户)

    参考博客: https://www.jianshu.com/p/8a7f257e07b8 从某个项目地址pull代码下来,老是报错 fatal: Authentication failed for ' ...

  7. windows下新增项目本地通过git bash推送至远程github

    本地E盘workspace目录下新增了spring-cloud-alibaba-demo项目,还没有编译过,没有target等不需要推送至git的文件,所以就直接用git bash丢到github了. ...

  8. git使用教程及github远程仓库管理

    git使用教程步骤 1.安装git 安装完后,在开始菜单里找到"git"->"Git Bash",蹦出一个类似命令行窗口,说明安装成功.2 注册git 在 ...

  9. 【github&&git】2、github入门到上传本地项目

    [在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...

  10. 如何把本地代码提交到git(码云)、github代码管理项目上

    前提必须安装了git工具 以下命令操作都是通过git bash操作. 将本地代码提交到码云空项目操作: D:\>mkdir inek_winprop D:\>cd inek_winprop ...

随机推荐

  1. Cage 字符串听课笔记

    困困困! KMP 注意到 KMP 的复杂度是均摊的,那么是否可以绕开? 注意到 KMP 实际上一个串的 ACAM,那么考虑可以类似的,在加入一个字符的同时维护 ACAM(考虑 ACAM 的构建过程,前 ...

  2. 图形库使用 Direct3d

    1 里面的数学 矩阵是三角函数组合出来的 旋转的时候 xy 两个变量距离变 第三轴被影响角度 2视锥 远近四棱锥双剪切平面 3 三维点 A点 B点 C点 确定三位坐标 ,初始坐标是坐标中中心值 x,y ...

  3. 配置系统未能初始化。“System.Transactions.Diagnostics.DiagnosticTrace”的类型初始值设定项引发异常。

    配置系统未能初始化."System.Transactions.Diagnostics.DiagnosticTrace"的类型初始值设定项引发异常. 1.是检查当前程序的 App.c ...

  4. C# .NET MVC 表单提交前校验数据等

    页面上写2个button,一个普通button,另一个是submit,submit的这个隐藏.校验函数写在普通button里,普通button click函数中去提交表单. 页面: <input ...

  5. 前端使用 Konva 实现可视化设计器(14)- 折线 - 最优路径应用【代码篇】

    话接上回<前端使用 Konva 实现可视化设计器(13)- 折线 - 最优路径应用[思路篇]>,这一章继续说说相关的代码如何构思的,如何一步步构建数据模型可供 AStar 算法进行路径规划 ...

  6. 李沐多模态串讲视频总结 ALBEF VLMo BLIP CoCa BEITv3 模型简要介绍

    开场 多模态串讲的上篇是比较传统的多模态任务 多模态最后的模态交互很重要 传统的缺点是都用了预训练的目标检测器,训练和部署都很困难. ViLT 把预训练的目标检测器换成了一层的 Patch Embed ...

  7. Linux内核中的static-key机制

    # Linux内核中的static-key机制 背景 在移植某个TP时,发现频繁操作屏幕会导致i2c总线死掉.在跟踪代码的时候,我发现了这个static-key. 因此,学习一下这块的知识. refe ...

  8. Bond——大数据时代的数据交换和存储格式

    设想我们在一家很大的互联网公司做IT方面的规划.开发和维护,有以下这样的应用场景: 公司里有若干个不同的开发团队,开发语言有Java..net.Python.C++....十来种,还有很多外包团队对项 ...

  9. SpringCloud连接远程nacos报错,一直提示连接本地的localhost:8848

    application.properties spring.cloud.nacos.discovery.server-addr=xxx.xxx.xxx.xxx:8848 spring.applicat ...

  10. AI生成前端组件的价值思考

    想法来源 这个想法来源于我自己的需求,我自己首先就是最精准的目标用户,在这个AI时代,我希望AI可以帮我尽量多地干活. 结合自己的日常独立开发情况,发现花在调前端组件样式上的时间很多,因此思考能不能让 ...