首页 > 其他分享 >使用Git bash切换Gitee、GitHub多个Git账号

使用Git bash切换Gitee、GitHub多个Git账号

时间:2024-05-11 18:09:37浏览次数:29  
标签:Git github rsa gitee GitHub ssh Gitee com id

使用Git bash切换Gitee、GitHub多个Git账号

​ Git是分布式代码管理工具,使用命令行的方式提交commit、revert回滚代码。这里介绍使用Git bash软件来切换Gitee、GitHub账号。
​ 假设在gitee.com上的邮箱是[email protected] 、用户名为alice;在github上的邮箱是[email protected]、用户名为bob。称邮箱网站[email protected]://[email protected]://github.com

账号 名称 邮箱 网站
1 alice [email protected] http://gitee.com
2 bob [email protected] 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 "[email protected]" 

## 2)生成bob在github.com上的公私钥文件
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "[email protected]" 

​ 在C:\用户\XXX.ssh里,可以看到有4个文件,如图(2) 所示:

序号 文件名 含义 所属账号
1 id_rsa_gitee alice的私钥文件 [email protected]
2 id_rsa_gitee.pub alice的公钥文件 [email protected]
3 id_rsa_github bob的私钥文件 [email protected]
4 id_rsa_github.pub bob的公钥文件 [email protected]
图(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 [email protected] -i ~/.ssh/id_rsa_gitee

## 2)授权
yes
图(6) 激活并授权gitee账号

4.2 激活并授权github账号

​ 激活命令(或测试命令)、授权命令github,如图(7)所示:

## 1) 激活公钥
ssh -T [email protected] -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,github,rsa,gitee,GitHub,ssh,Gitee,com,id
From: https://www.cnblogs.com/gaogao-web/p/18186974

相关文章

  • githu中的子模块(git submodule)
    git中支持引用另外一个开源库,并且可以指定依赖的分支或者提交记录号。比如fltk-rs库的fltk-sys模块依赖了库cfltk并指明了依赖的提交是8a56507甚至可以嵌套,毕竟库自身也不知道自己给别人当了子。比如上面这个cfltk又依赖了fltk@324fcfc但是如果你单纯使用gitclone......
  • git上传
    一、初始化gitgitinit二、添加该文件夹下的所有文件到本地仓库gitadd.三、添加注释gitcommit-m"RuoYi-Cloud-3.6.4"四、添加远程仓库4.1复制远程仓库https://gitee.com/gitee-libotao/RuoYi-Cloud4.2建立本地仓库与远程仓库的关联gitremoteaddoriginhtt......
  • Git -- 修改git账号密码后,进行git提交时报错
    修改git账号密码后,进行git提交时报错$gitpushorigindevelopremote:HTTPBasic:Accessdeniedfatal:Authenticationfailedfor'http://xxx/web.git/'重新设置下git信息gitconfig--globaluser.name"yourname"gitconfig--globaluser.email"your......
  • git文档
    git常用命令。创建SSHKeyssh-keygen-trsa-C"[email protected]"配置用户信息gitconfig--globaluser.name"YourName"gitconfig--globaluser.email"[email protected]"仓库在当前目录新建一个Git代码库gitinit新建一个目录,将其......
  • Copilot - OpenAI与GitHub联合出品的自动代码生成AI+VirtualLCD - 可用于 GUI 移植的
    1、AntOS-适用8051的超轻量级实时操作系统AntOS是一款超轻量级实时操作系统,抢占式调度极简内核,专门为小型家电及轻量型物联网终端设计,适合在8051为内核的MCU上运行。项目主页: https://gitee.com/zeweni/ant-osAntOS提供层级服务,可以进行任意裁剪。内核层包含两个子系......
  • Digital story
    Onceuponatime,thereisawillingcouple.Itisapitythattheywantababy,buttheirwishnevercometrue.Standingbehindthecouple’shouse,agardenbelongingtoapowerfulwitchisalwayssurroundedwithtallwallpreventingothersfromhere.On......
  • ssh修改端口后,gitee(git)连接不上
    将本服务器的ssh端口22改为1068后,gitpull和gitpush时,出现:ssh:connecttohostgitee.comport[端口]:Connectiontimedout错误目测是因为,gitee的链接,使用的是SSH协议,但是服务器的端口由22变为了1068,所以请求gitee服务器时,也由22变更为了1068,所以只要SSH协议的链接加上22......
  • git多人开发常常遇到的情况之一
    git开发过程中常常遇到冲突冲突的原因项目分支master生产环境发版使用分支uat(同master)预发版分支与master同步dev测试环境发版使用分支feature_功能开发分支hotfix_bug开发分支平时开发过程先拉到uat创建feature_或hotfix_分支开发完......
  • Connecting to github.com (github.com)|20.205.243.166|:443... failed: Connection
    今天使用ubuntu虚拟机编译buidroot代码时出现一些压缩包无法从github下载,如下图: 可是拷贝上图log中的下载链接到windows浏览器进行打开会自动进行下载成功,如粘贴该链接 https://github.com/winshining/nginx-http-flv-module/archive/v1.2.8/nginx-http-flv-......
  • 使用Jekyll在GitHub上搭建个人网站教程
    一、前言Jekyll是一个简单的、博客感知的、静态站点生成器。它使用Markdown(或其他标记语言)来格式化文本,然后通过Liquid模板引擎来布局网站,最后生成一个完整的静态网站。GitHubPages则允许你在GitHub上直接托管你的网站,并且可以与Jekyll完美结合。下面我们就来详细介绍一下如何使......