git、gitee、github关系梳理及ssh不对称加密大白话解释
温馨提示:本文不会讲解如何下载、安装git,也不会讲解如何注册、使用gitee或GitHub,这些内容网上一大把,B站上的入门课程也很多,自己看看就好了。
本文仅对 git、gitee、github的关系梳理及ssh公钥私钥授权原理用白话讲解清楚。
1、git、Gitee、GitHub之间是什么关系?
- git是个工具,是个软件,官网直接就可以下载。你就算没有gitee账户或github账户,也可以使用,只不过是在本地使用而已。主要作这个用:版本管理,说白点就好比游戏存档,通过git你可以随时取出去前面的存档,在代码上说就是可以恢复到存档了的前面的源码。git会在我们源程序目录下建一个“.git”的文件夹(隐藏的),我们通常称做**“本地仓库”**。
- Gitee(国内的)和Github(国外的)是网络仓库,说直白的就是网盘网页版,主要用来服务程序猿管理源码的网盘(其实你就是在里面存歌曲也是可以的),直接在网页上就可以上传文件到网络仓库中,就如上传文件到网盘一样。
- 两者关系就好比:git 类似这些gitee、GitHub网站的客户端,通过一些设置、命令,git这个工具j就可以和网络上的gitee或github仓库通过授权连通,然后通过在git中输各种命令管理网上仓库的文件。
2、git 为什么要设username, 又要添加remote,又要ssh公钥私钥?
虽然一般用git主要目的是将本地源码备份到网络仓库上,然后其他同事或者你在其他电脑上可以拉取到源码继续工作,比如下班可以在家拉取单位写的源码,但是其实git只用在本地也没问题,只是一般不会这么干。比如下面几个命令就是完全操作本地仓库:
git init # 初始化
git add . # 添加新变更到缓存
git commit -m ‘first commit’ # 提交新变更
为什么要设username?
这里先说这个问题,当你提交commit的时候,系统是会提示你要设置用户名和邮箱(如果你之前没有设置的话),这里的用户名和用户邮箱对应的其实就是告诉Git当前源码是谁谁提交的(当然一般谁写谁提交啦), 所以这里的用户名和密码就如好比当年你设置QQ昵称,是个认人的标志而已,所以好多教程都会提及说设置好用户名,邮箱随便写就好。
git config –global user.name “用户名” # 设置用户名
git config –global user.email “用户邮箱” #设置邮箱
为什么要添加remote?
下面,我们如果要把源代码传到网络仓库上去,就要用和网络仓库相关的命令了(比如:git push -u origin master # 同步远程仓库),但是,问题又来了,gitee或Github上那么多仓库,Git这个软件得知道你要传到哪个网络仓库?所以要用下面的命令告诉它(告诉它一次就好,下次就不用再说了,除非你换了仓库),然后再用push推送命令即可:
# 告诉git,打算将本地仓库推送到到远程哪个仓库,origin是这个仓库的别名
# 后面仓库的地址,自己到gitee 或github里去复制就好了
git remote add origin git@github.com:帐号名/仓库名.git
git push -u origin master # 同步远程仓库
为什么要用SSH公钥私钥?
但是,又是但是,你可能发现又会报错,因为你的仓库虽然开源,谁都可以下载,但显然不愿意谁都可以胡乱上传到你的网络仓库上吧?没有gitee或GitHub网站的你自己注册的账号和密码,Git啥也传不上去。两个办法:1、告诉git账号和密码(上传前弹出输入框等你输入),显然每次这样太麻烦。2、用SSH公钥模式,(一般的地球人都用这个模式)。
3、ssh公钥私钥到底是什么?怎么弄?怎么用?
- 先说什么是ssh公钥?参考下图边看说明:
第一步:简单说就是用个程序命令(比如git中输入命令就可以),搞出一对字符,分别给个名字叫公钥和私钥(一般公钥短,私钥长,分别放在文本文件中),当然这一对字符非常特殊,你甭想通过其中一个算出另外一个来。
第二步+第三步:好了,现在将私钥务必自己存好,把公钥上传到gitee网站或其他需要的网站,其实就是你自己先登陆网站,然后网站有专门的页面,让你把公钥内容填上去,你点击确定或提交后,网站就把你的公钥存到他们服务器上。
第四步:当下次你想通过某软件方式而非手工打开网页登陆网站时(比如用git来登陆获取gitee网站授权传输东西),就把私钥给网站(怎么给,继续看下面内容),网站会把前面你给的公钥和你的私钥匹配,如果是一对就直接让你登陆,账号和密码都不需要了。


- 怎么弄到公钥私钥?怎么用?
建议直接看 gitee网站上的介绍,直接在git中输入命令就可以了,已经很简明清晰了。
链接 https://gitee.com/help/articles/4181
我只简单的解释几个地方:
1、生成公钥私钥的命令如下,其中“ed25519”是算法模式,不要改动(因为即使你知道其他算法,但我不知道gitee是不是支持其他算法,除非你知道gitee知道),最后面的邮件地址可以随便填,只是用来识别这个钥匙对的类似备注。
# 生成 sshkey:
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
# Generating public/private ed25519 key pair...
2、命令成功的话,会在下面的目录中生成公钥和私钥文件(文本文件),如果要在另一台机器上使用这对公钥和私钥,必须将.ssh目前全部复制过去而不是只复制私钥,因为大多数网站为了安全会同时检查。公钥用文本打开直接复制后就可以提供给网站了。

2、注意下面的命令行,是首次使用需要确认并添加主机到本机SSH可信列表。如果你把公钥私钥给了另一台机器使用,那另一台机器也要输入这个命令来添加可信任。
#终端(Terminal)中输入
ssh -T git@gitee.com
相关文章:
git、gitee、github关系梳理及ssh不对称加密大白话解释
温馨提示:本文不会讲解如何下载、安装git,也不会讲解如何注册、使用gitee或GitHub,这些内容网上一大把,B站上的入门课程也很多,自己看看就好了。 本文仅对 git、gitee、github的关系梳理及ssh公钥私钥授权原理用白话讲…...
UDP协议详解
目录 前言: 再谈协议 UDP协议 比较知名的校验和 小结: 前言: UDP和TCP作为传输层非常知名的两个协议,那么将数据从应用层到传输层数据是怎样进行打包的?具体都会增加一些什么样的报头,下面内容详细介绍…...
Myb atis基础3
Mybatis注解开发单表操作Mybatis的常用注解Mybatis的增删改查MyBatis注解开发的多表操作MyBatis的注解实现复杂映射开发一对一查询一对多查询多对多查询构建sqlsql构建对象介绍查询功能的实现新增功能的实现修改功能的实现删除功能的实现Mybatis注解开发单表操作 Mybatis的常用…...
VHDL语言基础-时序逻辑电路-寄存器
目录 寄存器的设计: 多位寄存器: 多位寄存器的VHDL描述: 移位寄存器: 串进并出的移位寄存器的VHDL描述: 寄存器的设计: 多位寄存器: 一个D触发器就是一位寄存器,如果需要多位寄存器&…...
高通开发系列 - linux kernel更新msm-3.18升至msm-4.9
By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 linux kernel更新msm-3.18升至msm-4.9第一周处理的内容:第二周处理的内容第三周处理的内容linux kernel更新msm-3.18升至msm-4.9 第…...
【Tensorflow2.0】tensorflow中的Dense函数解析
目录1 作用2 例子3 与torch.nn.Linear的区别4 参考文献1 作用 注意此处Tensorflow版本是2.0。 由于本人是Pytorch用户,对Tensorflow不是很熟悉,在读到用tf写的代码时就很是麻烦。如图所示,遇到了如下代码: h Dense(unitsadj_di…...
PyTorch学习笔记:data.RandomSampler——数据随机采样
PyTorch学习笔记:data.RandomSampler——数据随机采样 torch.utils.data.RandomSampler(data_source, replacementFalse, num_samplesNone, generatorNone)功能:随即对样本进行采样 输入: data_source:被采样的数据集合replace…...
设计模式(七)----创建型模式之建造者模式
1、概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。 由于实现了构建和装配的解…...
DCGAN
DCGAN的论文地址[https://arxiv.org/pdf/1511.06434.pdf]。DCGAN是GAN的一个变体,DCGAN就是将CNN和原始的GAN结合到一起,生成网络和鉴别网络都运用到了深度卷积神经网络。DCGAN提高了基础GAN的稳定性和生成结果质量。DCGAN主要是在网络架构上改进了原始的…...
【速通版】吴恩达机器学习笔记Part3
目录 1.多元线性回归 a.特征缩放 可行的缩放方式: 1.除以最大值: 2.mean normalization: 3.Z-score normalization b.learning curve: c.learning rate: 2.多项式回归 3.classification logistics regression 1.多元线性回归 其意义很…...
【leetcode】跳跃游戏
一、题目描述 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums [2,3,1,1,4] 输出:true 解释&#x…...
论文投稿指南——中文核心期刊推荐(冶金工业 2)
【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...
【GPLT 二阶题目集】L2-044 大众情人
人与人之间总有一点距离感。我们假定两个人之间的亲密程度跟他们之间的距离感成反比,并且距离感是单向的。例如小蓝对小红患了单相思,从小蓝的眼中看去,他和小红之间的距离为 1,只差一层窗户纸;但在小红的眼里…...
SpringBoot整合(二)MyBatisPlus技术详解
MyBatisPlus详解 一、标准数据层开发 MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率 MyBatisPlus的官网为:https://mp.baomidou.com/ 1.1 标准CRUD 1.2 新增 int insert (T t)T:泛型,…...
导入importk8s集群,添加node节点,rancher agent,Rancher Agent设置选项
curl方式: Rancher在每个节点上部署代理以与节点通信。 此页面描述了可以传递给代理的选项,要使用这些选项,您需要采用创建自定义集群 ,并在docker run添加节点时将选项添加到生成的命令中。 常规选项 参数环境变量描述—serve…...
C++11--右值引用与移动语义
目录 基本概念 左值与右值 左值引用与右值引用 右值引用的使用场景和意义 左值引用的使用场景 右值引用和移动语义 移动构造和拷贝构造的区别 编译器的优化 移动赋值和赋值运算符重载的区别 右值引用的其他应用场景 完美转发 万能引用 完美转发保持值属性 完美转…...
Python SQLAlchemy入门教程
本文将以Mysql举例,介绍sqlalchemy的基本用法。其中,Python版本为2.7,sqlalchemy版本为1.1.6。 一. 介绍 SQLAlchemy是Python中最有名的ORM工具。 关于ORM: 全称Object Relational Mapping(对象关系映射࿰…...
你是真的“C”——操作符详解【下篇】+整形提升+算术转换
你是真的“C”——操作符详解下篇😎前言🙌操作符详解【上篇】内容:操作符详解【下篇】内容:1、 条件操作符2、逗号表达式:3、下标引用、函数调用和结构成员3、访问一个结构的成员表达式求值1、隐式类型转换:…...
文本匹配SimCSE模型代码详解以及训练自己的中文数据集
前言 在上一篇博客文本匹配中的示例代码中使用到了一个SimCSE模型,用来提取短文本的特征,然后计算特征相似度,最终达到文本匹配的目的。但是该示例代码中的短文本是用的英文短句,其实SimCSE模型也可以用于中文短文本的特征提取&a…...
Biotin-PEG-FITC 生物素聚乙二醇荧光素;FITC-PEG-Biotin 科研用生物试剂
结构式: Biotin-PEG-FITC 生物素聚乙二醇荧光素 英文名称:Biotin-PEG-Fluorescein 中文名称:生物素聚乙二醇荧光素 外观:黄色液体、半固体或固体,取决于分子量。 溶剂:溶于大部分有机溶剂,…...
C++ const /noexcept/override/final/delete一口吃透
一、const 关键字(成员函数版)1. 语法返回值 函数名(参数) const { ... }2. 核心作用const 修饰成员函数:承诺本函数不会修改类的普通成员变量。3. 硬性规则const 成员函数不能修改普通成员变量const 成员函数不能调用非 const 成员函数const…...
Windows APK安装终极指南:轻松在电脑上安装Android应用
Windows APK安装终极指南:轻松在电脑上安装Android应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上直接安装Android应用吗࿱…...
XUnity.AutoTranslator:Unity游戏实时翻译引擎技术架构深度解析
XUnity.AutoTranslator:Unity游戏实时翻译引擎技术架构深度解析 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator是一款专为Unity引擎游戏设计的实时文本翻译插件&#x…...
企业网里给奇安信天眼‘安家’:探针镜像口配置与网络规划的那些事儿
企业级网络安全部署实战:奇安信天眼探针镜像流量采集规划指南 在金融、能源等关键行业的核心网络环境中,流量镜像采集的部署质量直接决定了安全检测的有效性。去年某大型金融机构的数据泄露事件调查显示,由于镜像端口配置不当,导致…...
不止于安装:用FreeSurfer 7.1.0和Python(mne库)把你的MRI数据变成可编辑的3D头模型
从MRI到3D头模型:FreeSurfer与Python的深度整合实战 在神经影像研究领域,将原始MRI数据转化为可编辑的三维模型是一个关键步骤。传统流程往往止步于数据处理阶段,而本文将带您探索如何利用FreeSurfer 7.1.0与Python生态(特别是mne…...
EasyExcel模板填充进阶指南:如何用FillConfig和ExcelWriter玩转动态列表与横向填充
EasyExcel模板填充进阶指南:动态列表与横向填充实战解析 在数据报表自动化生成领域,Excel模板填充技术正成为企业级开发的标准配置。当基础填充已无法满足销售仪表盘、财务报告等复杂场景需求时,掌握EasyExcel的FillConfig与ExcelWriter高阶用…...
八大网盘直链解析工具:告别限速的终极解决方案
八大网盘直链解析工具:告别限速的终极解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / …...
多智能体系统工程2026:从单一Agent到协作团队的架构实践
引言 单一AI Agent已经不够用了。在2026年,复杂的企业AI应用越来越多地采用多智能体系统(Multi-Agent System):将复杂任务分解给多个专业化Agent并行处理,由协调者Agent(Orchestrator)负责调度和…...
一键下载30+文档平台:kill-doc免费开源脚本终极指南
一键下载30文档平台:kill-doc免费开源脚本终极指南 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决…...
别再傻傻分不清了!一文搞懂4G/5G打电话背后的三种技术:CSFB、VoLTE和VoNR到底啥区别?
移动通信语音技术演进:从CSFB到VoNR的深度解析 第一次用5G手机打电话时,很多人会注意到状态栏的"HD"标志突然出现,而有些时候又会看到网络从5G自动切换到了4G。这些现象背后,是移动通信领域三种截然不同的语音技术方案在…...
