被码云的教程给误导了,生成公钥时都不敢填邮箱了,因为我注册Github和Gitee用的是同一个邮箱。码云给出的解决方法是和不同网站(例如Github和Gitee)进行SSH通信要填不同的邮箱来生成密钥对。WTF? 难道要我现在这个账号作废吗?

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  # 双引号里面填写注册邮箱

现在想明白了,生成公钥的语句中不涉及目标网站,所以一个公钥完全可以用于多个网站。哈哈哈!

以本地库【C:\中期报告】为例,其中已经包括.git文件夹了,这个是项Github上的远程库推送时初始化的文件夹。现在我要做的是,将这个本地库推送到Gitee上的远程库中去。

首先在本地仓库中打开Git Bash 生成密钥对。我用的最简单的语句

ssh-keygen  # 不敢填邮箱

然后将公钥分别保存到两个目标网站(即Github和Gitee)上的账户设置SSH中。

  1. 接着建立远程库,可以先在目标网站(Gitee)新建好库【中期报告】,
  2. 假设Gitee生成的库地址是     https://gitee.com/narutomst/interim_report.git
  3. 添加到远程库

要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]:

本地库【C:\中期报告】已经有一个远程库origin,对应的URL是Github上的远程库【中期报告】的地址,但是我现在新建了Gitee上的远程库,想将文件添加到Gitee上的远程库【中期报告】,而且我想要推送的文件已经提交到本地库了,查看本地库确认下:

所以可以直接推送了,于是我这么干

git remote add origin_1 https://gitee.com/narutomst/interim_report.git
# 注意这里远程库的代号名称要修改成别的,默认是origin,我这里修改成origin_1

这样就建立了到Gitee远程库的链接,这个操作在Git Bash中看不到变化,但是这个操作的结果已经被写入.git\config文件中,如下图第3个红框中所示:

所以,我们可以推测出,第一个红色框中的内容是执行完语句1写入config的,第二个红框中的内容是执行完语句2写入config的;

就是我在图上用红色写出来的语句。接着,在Git Bash中继续执行

git push -u origin_1 master  # 将弹出登录到Gitee网站的登录框,需要输入用户名和密码

出现了输入登录用户名和密码的对话框,如下所示:

输入Gitee的用户名和密码,点确定。接着就看到Bash中开始执行推送,执行结果如下:

推送完成后,再看.git\config文件中的变化:远程库由origin切换到了origin_1,如红色箭头所示:

那么,再来看看,一个从来没有和远程库通信过的本地库中.git\config文件(即建立完本地库之后再没被改写过)长什么样子,如下所示:

所以,我们在Git Bash中对远程库的操作果然是会被记录在.git\config文件中!

最后查看一下目前全部的远程库:

可以看到,我们的本地库拥有两个远程库:origin位于github上,origin_1位于gitee上。而和这两个远程库的通信我们用的是同一对密钥。

同一个SSH公钥同时用于Github和Gitee相关推荐

  1. linux生成公钥实现ssh,linux下生成 SSH 公钥,用于GitHub

    typedef 第一.四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向 ...

  2. Git生成的ssh公钥部署在GitHub后校验报错Permission denied(publickey, password, keyboard-interactive)完美解决

    Git生成的ssh公钥部署在GitHub后校验报错Permission denied(publickey, password, keyboard-interactive)完美解决 前置 正确的配置了s ...

  3. 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境

    首先确认已安装Git,可以通过 git –version 命令可以查看当前安装的版本. Mac OSX 中都已经安装了Git.但是,Git的版本未必是最新的. 可以通过命令 git clone htt ...

  4. 项目管理 之七 SSH、GPG 密钥生成步骤、部署 Github、Gitee 及使用效果

      最近有需要在 Github 上配置 SSH 和 GPG,因此,将过程记录下来形成本文.没啥技术含量,就是一个记录.我这里使用的主机环境是 Ubuntu 22.04 LTS 和 Windows 22 ...

  5. Gitee ssh 公钥配置好后,仍然 permission denied 的排查过程及解决方法

    突如其来 今天 git pull 一个老项目,之前一直提交的好好的,这次突然报错 git@gitee.com: Permission denied (publickey).,明明是我自己的 repo, ...

  6. github 公钥 私钥_ubuntu git生成ssh key (公钥私钥)配置github或者码云

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 设置Git的user name和email: git confi ...

  7. windows下如何github ssh 公钥

    windows下如何github ssh 公钥 1. 安装git,从程序目录打开 "Git Bash"  2. 键入命令:ssh-keygen -t rsa -C "em ...

  8. windows下面怎么github ssh 公钥,然后克隆项目

    windos下面怎么github ssh 公钥,然后克隆项目 第一步. 1. 安装git,从程序目录打开 "Git Bash"      2. 键入命令:ssh-keygen -t ...

  9. gitlab或者gitee生成/添加SSH公钥的解决办法

    打开Git Bash Here, gitlab或者Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥. 你可以按如下命令来生成 sshk ...

最新文章

  1. 常见的面试题(整理)
  2. netty系列之:中国加油
  3. InnoDB引擎与MyIASM的一点总结
  4. 关于《精通Unix下C语言编程与项目实践》的试读策划
  5. 详解用backgroundImage解决图片轮播切换
  6. 百度被告监听用户,回应“没那能力”,但小米说锅就是你的!
  7. 大数据架构由哪些模块组成
  8. thinkphp5--文章发布后台管理系统
  9. 十分钟让你对C++ Traits大彻大悟
  10. nexus的下载与安装和启动
  11. 如何免费设置QQ空间背景音乐
  12. Red Hat linux9 初装配置
  13. FreeBSD下查看服务器型号和硬件信息
  14. 论文解读| NeurIPS 2022:面向科学任务的图神经网络设计
  15. 【供应链】全面分析供应链类型
  16. (转)Serializable 序列化和反序列化
  17. Ubuntu10下载安装Android 2.2 froyo 源码
  18. IP地址、网络号、网关的区别
  19. P3084 [USACO13OPEN]照片Photo 差分约束
  20. 视频怎么制作虚化边框背景的效果?

热门文章

  1. 高速漂亮的机箱很酷炫 但是它们也需要连接
  2. Java编译时的bak文件
  3. 【记得就更新】有点经典,串串烧
  4. T 沙龙移动实践日总结 ——享物说大流量⼩程序的架构与性能优化方案
  5. linux查gunicorn进程,linux 优雅的退出/关闭/重启gunicorn进程
  6. 21天转型容器实战营(一了解容器的基本知识)
  7. ULN2003步进电机 5V/12V步进电机 28BYJ-48步进电机 13003驱动板开发者文档
  8. SkeyeVSS视频共享融合赋能平台技术方案之AI视频智能分析中台子系统架构设计
  9. 在GitHub上用相对路径显示图片
  10. 格式工厂 wav 比特率_想拥有一款音频格式转换工具吗?TunesKit Audio Converter