代码托管(二)git(1)介绍

一、git相关

git github gitlub

二、gitlub签名认证

使用ssh克隆代码,使用gpg签名提交代码。

1、ssh签名

一对公钥和密钥,公钥复制到gitlub上。步骤如下

1.1、先在本地生成密钥和公钥

(1)配置用户名和邮箱

git config --global user.name "moxun"
git config --global user.email "xxx@xx.com"

(2) 生成公私钥

两种加密方式:ed25519(推荐)和rsa

ssh-keygen -t ed25519 -C "xxx@xx.com"
ssh-keygen -t rsa -C "xxx@xx.com"

按三次回车enter键即可生成,这里一般不需要添加名称和密码 

(3)打开文件查看,路径为C:\Users\用户名\.ssh

1.2、将公钥复制到gitlub上

上面第一步会生成两个加密文件,如我使用的是ed25519,则id_ed25519文件是私钥,id_ed25519.pub是公钥,打开,全选复制到gitlub上即可。

1.3、本地设置git全局生效
git config --global gpg.format ssh
#git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global user.signingkey ~/.ssh/你的文件名称

git commit -S -m "My commit msg"
2、gpg签名

配置git提交为gpg签名,提交代码后gitlub上将显示verifiled。

2.1、下载gpg

GnuPG - Download

这是个可视化工具,下载后一步步安装即可(建议安装到默认目录即可)。

cmd命令行输入gpg --version,执行成功则说明安装成功。 

2.2、生成密钥

cmd命令行(或者idea终端或者git bash命令行)输入:

gpg --full-gen-key

弹出框一步步输入即可:

(1)

 $ gpg --full-gen-key
gpg (GnuPG) 2.4.4-unknown; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
   (9) ECC (sign and encrypt) *default*
  (10) ECC (sign only)
  (14) Existing key from card
Your selection?

选择1

(2)

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072)

输入4096

(3)

Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y

(4)输入名称和邮箱

(5)

GnuPG needs to construct a user ID to identify your key.

Real name: Zoomie Developer
Email address: zoomie.developer@zoom.us
You selected this USER-ID:
    "Zoomie <zoomie.developer@zoom.us>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? 

输入O确认。弹框输入密码,可输入也可以不输入。完毕

2.3、查询刚才生成的密钥

(1)方法1

gpg --list-secret-keys --keyid-format LONG <EMAIL>
#将 <EMAIL> 替换为生成密钥时使用的电子邮件地址:如:gpg --list-secret-keys --keyid-format LONG wtyy@qq.com

在输出中,/后面的即为私钥,如我输出如下,则私钥为5FEC960A78DF29F6,

sec   rsa4096/5FEC960A78DF29F6 2024-04-19 [SC]
      2C8974FE36C8386038AD3F4B5FEC960A78DF29F6
uid                 [ultimate] tina.zhang <tina.zhang@zoom.us>
ssb   rsa4096/371D4A944D473731 2024-04-19 [E]

(2)方法2 

打开第一步下载的gpgwin可视化工具也可以查看到

2.4、使用密钥生成公钥
gpg --armor --export 你的密钥

复制输出的公钥,包括 BEGIN PGP PUBLIC KEY BLOCKEND PGP PUBLIC KEY BLOCK 行,粘贴到gitlub的gpg设置中即可。

2.5、本地设置git全局生效
git config --global commit.gpgsign true
2.6、idea配置gpg

settings-->git-->configure GPG key,点击会自动弹出来密钥,确认即可。

2.7、git全局配置gpg路径

往往还需要配置git的gpg路径:

git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
#具体路径参考第一步安装的路径

否则commit或者push会报错:

gpg: skipped "88F1EA372F568EBA": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.net6项目模板

1.集成log4net 安装依赖包&#xff1a; 安装扩展依赖即可&#xff0c;已经包含了log4net依赖&#xff1a; Microsoft.Extensions.Logging.Log4Net.AspNetCore 添加日志配置文件&#xff1a; 日志配置文件属性设置为始终复制&#xff1a; 注入服务&#xff1a; #region 注入…

Spring Boot 实现接口幂等性的 4 种方案

一、什么是幂等性 幂等是一个数学与计算机学概念&#xff0c;在数学中某一元运算为幂等时&#xff0c;其作用在任一元素两次后会和其作用一次的结果相同。 在计算机中编程中&#xff0c;一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数或幂…

微信小程序开发之多图片上传+.NET WebAPI后端服务保存图片资源

前言&#xff1a; 最近开发的一个微信小程序项目需要做一个同时选中三张&#xff08;或者是多张&#xff09;图片一起上传到服务端&#xff0c;服务端保存图片资源并保存的功能。发现在微信小程序开发中会有很多场景会使用到多图片上传并保存到的功能&#xff0c;所以我把自己总…

高频前端面试题汇总之Vue篇

1. Vue的基本原理 当一个Vue实例创建时&#xff0c;Vue会遍历data中的属性&#xff0c;用 Object.defineProperty&#xff08;vue3.0使用proxy &#xff09;将它们转为 getter/setter&#xff0c;并且在内部追踪相关依赖&#xff0c;在属性被访问和修改时通知变化。 每个组件实…

Stable Diffusion 模型分享:ChilloutMix(真实、亚洲面孔)chilloutmix_NiPrunedFp32Fix

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 相信近来吸引大家想一试 Stable Diffusion 图像生…

【EI会议征稿】2024年先进机械电子、电气工程与自动化国际学术会议(ICAMEEA 2024)

2024 International Conference on Advanced Mechatronic, Electrical Engineering and Automation ●会议简介 2024年先进机械电子、电气工程与自动化国际学术会议&#xff08;ICAMEEA 2024&#xff09;将汇聚全球机械电子、电气工程与自动化领域的专家学者&#xff0c;共同…

洗眼镜什么牌子的超声波清洗机好用?全网一致好评四大品牌

眼镜作为我们日常佩戴的必备单品&#xff0c;你是否真正关注过它的清洁度&#xff1f;眼镜不清洗&#xff0c;不仅影响视力&#xff0c;还可能对眼睛造成不可逆的伤害。因此&#xff0c;眼镜一定要经常清洗&#xff0c;而超声波清洗机则是你洗眼镜的最佳选择。在市面上&#xf…

新项目应该选mongodb还是postgresql?

文章目录 MongoDBPostgreSQL大数据处理时的优势对比实际使用经验 选择MongoDB还是PostgreSQL作为新项目的数据库&#xff0c;主要取决于项目的具体需求、数据模型、应用场景以及团队熟悉程度等因素。下面将从几个关键角度对两者进行对比分析。 MongoDB 数据模型&#xff1a;Mo…

蓝桥杯竞赛类型:Web应用开发 全程详解

既然大家准备报名蓝桥杯&#xff0c;那么对蓝桥杯就应该有一定的了解了。没有了解也没关系&#xff0c;简单来说&#xff0c;蓝桥杯就是一个计算机竞赛&#xff0c;竞赛类型大多是使用各种语言写算法&#xff0c;当然还有本文的主体——Web应用开发。对蓝桥杯有了基本了解之后&…

一个完全用rust写的开源操作系统-Starry

1. Starry Starry是2023年全国大学生计算机系统能力大赛操作系统设计赛-内核实现赛的二等奖作品。Starry是在组件化OS的arceos的基础上&#xff0c;进行二次开发的操作系统内核&#xff0c;使用宏内核架构&#xff0c;能够运行Linux应用的内核。 原始的操作系统大赛的仓库为 …

vue快速入门(三十四)组件data定义方法

注释很详细&#xff0c;直接上代码 上一篇 新增内容 数据绑定方法照常数据定义方法需要作为函数返回值 源码 MyTest.vue <template><div><h1>我的功德&#xff1a;{{merits}} </h1><button click"meritsnum1">功德加一</button>…

C++实战——日期类的实现

日期类的实现 前言一、日期类概念实现运用场景 二、日期类的具体实现代码构造函数拷贝构造函数获取日期&#xff08;内联函数&#xff09;赋值加等减等加减小于小于等于大于大于等于相等不相等前置后置前置- -后置- -关于类里重载的比较运算符为什么要加外部const示例 Date.hDa…

常见UI组件(二)

一、文本输入 1.1 概述 TextInput为文本输入组件&#xff0c;用于接收用户输入的文本内容 1.2 参数 Entry Component struct Index {build() {Column({space : 50}) {TextInput({placeholder:请输入用户名}).width(70%)TextInput({text:当前内容}).width(70%)}.width(100%).…

90天精通Psim仿真--经典实战教程--第10天 Simcode DSP28335 LED控制

PSIM (Power Simulation) 是一款电力电子和电机控制仿真软件,而DSP28335是德州仪器(TI)的一款数字信号处理器(DSP)。如果你想要在PSIM的SimCoder环境中为DSP28335生成LED闪烁的代码,遵循以下步骤: 打开PSIM并创建模型: 首先,在PSIM中创建一个电路模型,该模型应包括DS…

Bootstrap 5 保姆级教程(十一):模态框 提示框

一、模态框 1.1 创建模态框 以下实例创建了一个简单的模态框效果 &#xff1a; <div class"container mt-3"><h3>模态框实例</h3><p>点击按钮打开模态框</p><button type"button" class"btn btn-primary" d…

Scikit-Learn 支持向量机分类

Scikit-Learn 支持向量机分类 1、支持向量机&#xff08;SVM&#xff09;1.1、SVM概述1.2、SVM原理1.3、SVM的损失函数 1、支持向量机&#xff08;SVM&#xff09; 1.1、SVM概述 在机器学习中&#xff0c;支持向量机&#xff08;Support Vector Machine&#xff0c;SVM&#x…

C++入门5.内联函数,auto关键字,基于范围的for循环(C++11),指针空值nullptr(C++11)

本篇是C过度C初始的最后一篇&#xff0c;快快对入门须知的知识有个印象后&#xff0c;就可以顺顺利利的学习C的类了。 目录 内联函数&#xff1a; 内联函数的特性&#xff1a; auto关键字(C11)&#xff1a; auto简介&#xff1a; 使用细则&#xff1a; auto不能推导的场…

【Linux】帮助类命令

在Linux中&#xff0c;man用于查看系统手册页&#xff08;manual pages&#xff09;。它用于查阅关于特定命令、函数、工具或文件格式的详细信息。要使用man命令&#xff0c;只需在终端中输入man&#xff0c;后跟您要查看的命令或主题的名称。 例如&#xff0c;如果查看ls命令…

【Linux C | 多线程编程】线程同步 | 信号量(无名信号量) 及其使用例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

018Node.js安装淘宝镜像(cnpm命令)

http://www.npmjs.org npm包官网 https://npm.taobao.org 淘宝npm镜像官网 淘宝NPM镜像是一个完整npmjs.org镜像&#xff0c;你可以用此替代官方版本&#xff08;只读&#xff09;&#xff0c;同步频率目前为10分钟一次&#xff0c;保证尽量与官方服务同步。 可以定制的cnpm(…
最新文章