当前位置: 首页 > news >正文

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,只差一层窗户纸;但在小红的眼里&#xf…...

SpringBoot整合(二)MyBatisPlus技术详解

MyBatisPlus详解 一、标准数据层开发 MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率 MyBatisPlus的官网为:https://mp.baomidou.com/ 1.1 标准CRUD 1.2 新增 int insert (T t)T:泛型&#xff0c…...

导入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(对象关系映射&#xff0…...

你是真的“C”——操作符详解【下篇】+整形提升+算术转换

你是真的“C”——操作符详解下篇😎前言🙌操作符详解【上篇】内容:操作符详解【下篇】内容:1、 条件操作符2、逗号表达式:3、下标引用、函数调用和结构成员3、访问一个结构的成员表达式求值1、隐式类型转换&#xff1a…...

文本匹配SimCSE模型代码详解以及训练自己的中文数据集

前言 在上一篇博客文本匹配中的示例代码中使用到了一个SimCSE模型,用来提取短文本的特征,然后计算特征相似度,最终达到文本匹配的目的。但是该示例代码中的短文本是用的英文短句,其实SimCSE模型也可以用于中文短文本的特征提取&a…...

Biotin-PEG-FITC 生物素聚乙二醇荧光素;FITC-PEG-Biotin 科研用生物试剂

结构式: ​Biotin-PEG-FITC 生物素聚乙二醇荧光素 英文名称:Biotin-PEG-Fluorescein 中文名称:生物素聚乙二醇荧光素 外观:黄色液体、半固体或固体,取决于分子量。 溶剂:溶于大部分有机溶剂,…...

day113(3.15)——leetcode面试经典150

123. 买卖股票的最佳时机 III 123. 买卖股票的最佳时机 Ⅲ 题目: 题解: class Solution {// 可以买卖多次,但手里只能持有一股。// 最多可以完成 两笔 交易。// 因为可以多次买卖,所以“买入”的时候,可以用“上一次…...

【AI黑话日日新】什么是近内存计算?

近内存计算(NMC)是一种数据中心主义的计算架构,核心思想是将计算单元放置在紧邻内存的位置,缩短数据搬运距离,从而解决传统冯诺依曼架构中的"内存墙"瓶颈。它属于存内处理(PIM/Processing in Memory)技术的一个重要分支,与存内计算(IMC/In-Memory Computing…...

程序员如何快速突击找工作?

程序员如何快速突击找工作? 针对程序员如何高效突击求职,以下分步骤详细说明: 一、精准定位与简历优化 明确目标岗位 根据技术栈(如Java后端、前端、算法等)筛选匹配岗位优先投递要求与自身技能重合度≥70%的职位 简…...

开题卡住了?9个一键生成论文工具深度测评与推荐,研究生必备!

在当前学术研究日益精细化、数据化的大背景下,研究生群体面临论文写作、文献检索、格式规范等多重挑战。尤其是在人工智能技术快速发展的今天,如何高效利用工具提升科研效率成为关键课题。为了帮助广大研究生更好地选择适合自己的论文辅助工具&#xff0…...

综述不会写?10个AI论文工具测评:本科生毕业论文写作与科研写作必备神器

在当前学术写作日益数字化的背景下,越来越多的学生和研究者开始依赖AI工具提升写作效率与质量。然而,面对市场上种类繁多的论文辅助工具,如何选择真正适合自己的产品成为一大难题。为此,我们基于2026年的实测数据与用户反馈&#…...

Java 面试题及答案整理(2026金三银四速成版)

又是一年金三银四 !纵观今年的技术招聘市场, Java 依旧是当仁不让的霸主 !即便遭受 Go 等新兴语言不断冲击,依旧岿然不动。究其原因:Java 有着极其成熟的生态,这个不用我多说;Java 在 运维、可观…...

最近爆火的OpenClaw到底是什么?一文读懂RAG、MCP

最近爆火的 OpenClaw 到底是什么?一文读懂 RAG、MCP 2026 年初,GitHub 上一个开源项目以惊人速度爆火:短短 60 天内 Stars 突破 20 万,甚至超越了 React 成为史上增长最快的项目之一。它就是 OpenClaw(曾短暂叫 Clawd…...

【GitHub项目推荐--Aegis Authenticator:安全优先的开源双因素认证应用】⭐⭐⭐

Screenshots 简介 Aegis Authenticator​ 是由Beem Development开发并维护的开源项目,其核心使命是为Android用户提供一个免费、安全且功能完整的双因素认证(2FA)应用。在数字安全日益重要的今天,双因素认证已成为保护在线账户的…...

Leather Dress Collection显存优化:LoRA权重缓存机制减少重复加载显存开销

Leather Dress Collection显存优化:LoRA权重缓存机制减少重复加载显存开销 1. 项目背景与挑战 Leather Dress Collection是一个基于Stable Diffusion 1.5的LoRA模型集合,包含12个专门用于生成各种皮革服装风格图像的模型。在实际使用中,当需…...

MusePublic在.NET生态中的AI应用开发

MusePublic在.NET生态中的AI应用开发 1. 引言 在当今的软件开发领域,AI能力的集成已经成为提升应用价值的关键。对于.NET开发者来说,如何在熟悉的开发环境中无缝接入大模型能力,是一个既实用又具有挑战性的课题。MusePublic作为一个功能强大…...