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

news/2024/12/23 6:01:58/

一、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.ppmy.cn/news/1426936.html

相关文章

华为ensp中静态路由和默认路由的原理及配置

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月17日17点37分 默认路由 [Router] ip route-static <目的网络> <目的网络掩码> <下一跳地址>默认路由的作用是将无法匹配路由表中其他路由表项的…

Docker安装SQL Server 2022

官网&#xff1a;Docker&#xff1a;为 Linux 上的 SQL Server 安装容器 - SQL Server | Microsoft Learn 1. 拉取镜像 sudo docker pull mcr.microsoft.com/mssql/server:2022-latest 2. 运行docker容器 方式一&#xff1a;不挂载数据目录 docker run -e "ACCEPT_EUL…

嵌入式linux中利用QT控制蜂鸣器方法

大家好,今天给大家分享一下,如何控制开发板上的蜂鸣器。 第一:开发板原理图 从原理图中可以得出,当引脚输出低电平的时候,对应的蜂鸣器发出响声。 第二:QT代码详细实现 设置一个按钮,点击即可控制BEEP状态发生反转。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#in…

【教程】网络安全(黑客)全阶段学习路线

前言 一、什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防…

推荐系统知识:是什么?能干什么?核心算法是?

目录 目录 前言 什么是推荐系统 推荐系统解决了哪些问题 推荐系统的应用领域 常用的推荐算法 基于内容的推荐算法 协同过滤算法 如何系统学习推荐系统 结束语 前言 在当今数字化时代&#xff0c;推荐系统已经成为许多互联网平台的核心功能之一。无论是在线购物、音乐…

关于Windows 11中休眠相关的知识,看这篇文章就差不多了

如果你想让电脑处于低功耗状态,你可以启用电脑的休眠模式。那么,如何在Windows 11中启用休眠模式呢?本文提供了三种方法来完成这项工作,你可以选择其中一种进行尝试。 什么是Windows PC上的休眠 休眠模式在节省电池电量和有效管理当前功耗方面是一个相当有用的功能。在休…

第十章 高级纹理

立方体纹理 立方体纹理是环境映射的一种实现方法。环境映射可以模拟物体周围的环境,而使用了环境映射的物体可以看起来像镀了一层金属一样反射出周围的环境。 立方体纹理一共包含6张图形,这些图像对应了立方体六个面。对立方体纹理采样我们需要提供一个三维的纹理坐标,这个…

2024-04-14 问AI: 在深度学习中,为什么需要激活函数?

文心一言 在深度学习中&#xff0c;激活函数起着至关重要的作用&#xff0c;主要有以下几个原因&#xff1a; 引入非线性特性&#xff1a;深度学习的目标之一是模拟人脑的复杂功能和决策过程。然而&#xff0c;线性模型的组合仍然是线性的&#xff0c;这限制了模型的表示能力…