使用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.com
2bobbob@foxmail.comhttp://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) 所示:

序号文件名含义所属账号
1id_rsa_giteealice的私钥文件alice@foxmail.com
2id_rsa_gitee.pubalice的公钥文件alice@foxmail.com
3id_rsa_githubbob的私钥文件bob@foxmail.com
4id_rsa_github.pubbob的公钥文件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里的SSH公钥

    在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内容,拷贝到gitee账号的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 填写要切换的账号和网站

Host useEE
HostName gitee.com
IdentityFile C:\\Users\\25014\\.ssh\\id_rsa_gitee
PreferredAuthentications publickey
User useEEHost useHub
HostName github.com
IdentityFile C:\\Users\\25014\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User useHub

    其中,useEE对应alice, useHub对应bob。

7 拉取工程

7.1 拉取gitee上的timer工程

    假设原来的timer工程地址为:git@gitee.com:alice/timer.git,Git软件则通过~/.ssh/config文件重新设置名称之后,其有效的地址如下:

git@useHub:alice/timer.git

则拉取timer工程的命令:

git clone git@gitee.com:alice/timer.git

等价改成,如下:

git clone git@useEE:alice/timer.git

7.2 拉取github上的timer工程

    同理,假设原来的timer工程地址为:git@github.com:bob/timer.git,则通过config重新设置名称之后,其有效的地址如下:

git@useHub:bob/timer.git

则拉取timer工程的命令:

git clone git@github.com:bob/timer.git

等价改成,如下:

git clone git@useHub:bob/timer.git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/212815.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3自定义拖拽指令

<template><div v-move class"box"></div> </template><script setup lang"ts"> import { Directive } from vue const vMove:Directive (el:HTMLElement) >{const mousedown (e:MouseEvent) >{// 鼠标按下const s…

java项目之品牌银饰售卖平台(ssm+vue)

项目简介 主要功能包括首页、个人中心、用户管理、促销活动管理、饰品管理、我的收藏管理、系统管理、订单管理等。管理员模块: 管理员可以查询、编辑、管理每个用户的信息和系统管理员自己的信息&#xff0c;同时还可以编辑、修改、查询用户账户和密码&#xff0c;以及对系统…

基于JavaWeb+SpringBoot+Vue医院管理系统小程序的设计和实现

基于JavaWebSpringBootVue医院管理系统小程序的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏[Java 源码获取 源码获取入口 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关技术 2 2.1微信小程序 2 2.2 …

【2023年APMCM亚太杯C题】完整数据与解题思路

2023年亚太杯C题 数据下载与搜集重点数据其余数据第一问第二问第三问第四问第五问第六问 数据与思路获取 数据下载与搜集 该题并没有提供数据集&#xff0c;对所需数据进行收集整理是对题目进行求解的基础。在本题中&#xff0c;主要需要以下数据&#xff1a;新能源汽车历史销…

操作系统发展过程--单道批处理系统、多道批处理系统、分时系统、实时系统

一、单道批处理系统 计算机早期&#xff0c;为了能提高利用率&#xff0c;需要尽量保持系统的连续运行&#xff0c;即在处理完一个作业之后&#xff0c;紧接着处理下一个作业&#xff0c;以减少机器的空闲等待时间 1.单道批处理系统的处理过程 为了实现对作业的连续处理&…

基于springboot实现校园在线拍卖系统项目【项目源码】

基于springboot实现校园在线拍卖系统演示 Javar技术 JavaScript是一种网络脚本语言&#xff0c;广泛运用于web应用开发&#xff0c;可以用来添加网页的格式动态效果&#xff0c;该语言不用进行预编译就直接运行&#xff0c;可以直接嵌入HTML语言中&#xff0c;写成js语言&…

关于SseEmitter(SSE)在本地可以响应,部署到服务器后无法响应的问题

关于SseEmitter(SSE)在本地可以响应&#xff0c;部署到服务器后无法响应的问题 GetMapping(value "/v3/detail", produces MediaType.TEXT_EVENT_STREAM_VALUE) ResponseBody public SseEmitter v3Detail(String id) {SseEmitter emitter new SseEmitter((long) …

数字孪生智慧校园 Web 3D 可视化监测

当今&#xff0c;智慧校园发展阶段亟需推动信息可视化建设与发展&#xff0c;将大数据、云计算、可视化等高新技术相融合&#xff0c;为校园师生创造科学智能的学习环境&#xff0c;并实现教学资源最大化和信息服务智能化。帮助学校更好地应用校园可视化技术&#xff0c;提升校…

【MATLAB源码-第87期】基于matlab的Q-learning算法栅格地图路径规划,自主选择起始点和障碍物。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 Q-learning是一种无模型的强化学习算法&#xff0c;适用于有限的马尔可夫决策过程&#xff08;MDP&#xff09;。它的核心是学习一个动作价值函数&#xff08;action-value function&#xff09;&#xff0c;即Q函数&#xf…

信号...

信号的产生&#xff1a;外卖小哥给我打电话说你外卖到了 信号的保存&#xff1a;我可能正在推高地&#xff0c;脑子里面记住我外卖到了&#xff0c;一会再去拿 信号的处理&#xff1a;我打完了&#xff0c;下楼把外卖拿了 完成了一次信号的生命周期

2024-NeuDS-数据库题目集

一.判断题 1.在数据库中产生数据不一致的根本原因是冗余。T 解析&#xff1a;数据冗余是数据库中产生数据不一致的根本原因&#xff0c;因为当同一数据存储在多个位置时&#xff0c;如果其中一个位置的数据被修改&#xff0c;其他位置的数据就不一致了。因此&#xff0c;在数据…

微信报名怎么做_轻松便捷的数字化报名体验

微信报名&#xff1a;轻松便捷的数字化报名体验 在这个数字化时代&#xff0c;微信已经成为我们生活中不可或缺的一部分。它不仅仅是一个社交平台&#xff0c;更是一个功能强大的综合性工具。其中&#xff0c;微信报名功能更是给我们的生活带来了极大的便利。本文将详细介绍微…