Git 配置 GPG 提交簽名

? ? ? ? 使用 GPG 對 Git 提交進行簽名,可以證明該提交確實是你本人提交的。這在團隊協作和代碼審核中非常有用,GitHub/GitLab 等平臺也會顯示 “Verified” 標簽。


🧩 一、檢查是否已安裝 GPG

gpg --version

如果未安裝,可使用以下命令安裝:

Ubuntu/Debian:

sudo apt install gnupg

CentOS/RHEL:

sudo yum install gnupg
macOS:
brew install gnupg

🔐 二、生成 GPG 密鑰

gpg --full-generate-key

根據提示選擇:

  1. 密鑰類型: 選擇默認(RSA and RSA)

  2. 密鑰長度: 建議使用 4096

  3. 有效期限:1y(一年),或 0(永久有效)

  4. 名字和郵箱: 建議與 Git 使用的保持一致

  5. 密碼: 用于保護私鑰,強烈建議設置


📋 三、查看你的 GPG 密鑰 ID

gpg --list-secret-keys --keyid-format=long
你需要記下你的ID,假設為ABCDEF1234567890(這就是你的 GPG key ID)

?? 四、配置 Git 使用該密鑰

git config --global user.signingkey ABCDEF1234567890

設置默認使用 GPG 簽名提交:

git config --global commit.gpgsign true

指定 GPG 程序(系統上用哪個就配置哪個):

git config --global gpg.program gpg

# 或者

git config --global gpg.program gpg2

🧪 五、測試是否能簽名

echo "test" | gpg --clearsign

如果提示你輸入密碼并生成了簽名文本,就表示配置成功。


🖥? 六、解決 GPG 無法輸入密碼的問題

有些終端環境下 GPG 無法彈出密碼輸入窗口,可指定 pinentry 程序:

vim ~/.gnupg/gpg.conf
增加一行:
pinentry-mode loopback

然后

 gpgconf --kill gpg-agentgpgconf --launch gpg-agent


🌐 七、將 GPG 公鑰添加到 GitHub(或 GitLab)

導出公鑰:

gpg --armor --export ABCDEF1234567890

復制輸出內容,添加到:

  • GitHub: https://github.com/settings/keys

  • GitLab: 用戶頭像 → Settings → GPG Keys


🔎 八、調試排錯常用命令

  • 查看當前 Git 配置:

  • git config --list | grep gpg

  • 臨時跳過 GPG 簽名提交:

    git commit --no-gpg-sign

  • 永久關閉簽名提交:

    git config --global commit.gpgsign false

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902438.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902438.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902438.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL運維三部曲初級篇:從零開始打造穩定高效的數據庫環境

文章目錄 一、服務器選型——給數據庫一個舒適的家二、系統調優——打造高性能跑道三、MySQL配置——讓數據庫火力全開四、監控體系——數據庫的體檢中心五、備份恢復——數據安全的最后防線六、主從復制——數據同步的藝術七、安全加固——守護數據長城 引言:從小白…

實踐項目開發-hbmV4V20250407-跨平臺開發框架深度解析與VSCode一站式開發實踐

跨平臺開發框架深度解析與VSCode一站式開發實踐 在當今多端應用開發需求激增的背景下,跨平臺開發框架成為了眾多開發者的首選。本文將圍繞React Native、Taro及其結合方案,以及Uni-app、MUI、Quasar等輕量級框架展開詳細分析,并探討如何在VS…

Android15沉浸式界面頂部有問題

Android15沉浸式界面頂部有問題 往往開發人員的手機沒這么高級,客戶或者老板的手機是Android15的。 我明明就設了狀態欄透明,我的手機也沒問題。但Android15是有問題的。 先看下有問題的界面: 解決方案: 處理1: if (…

uni-app 狀態管理深度解析:Vuex 與全局方案實戰指南

uni-app 狀態管理深度解析:Vuex 與全局方案實戰指南 一、Vuex 使用示例 1. 基礎 Vuex 配置 1.1 項目結構 src/ ├── store/ │ ├── index.js # 主入口文件 │ └── modules/ │ └── counter.js # 計數器模塊 └── main.js …

【STM32單片機】#11 I2C通信(軟件讀寫)

主要參考學習資料: B站江協科技 STM32入門教程-2023版 細致講解 中文字幕 開發資料下載鏈接:https://pan.baidu.com/s/1h_UjuQKDX9IpP-U1Effbsw?pwddspb 單片機套裝:STM32F103C8T6開發板單片機C6T6核心板 實驗板最小系統板套件科協 實驗&…

每天一道面試題@第一天

1:TCP和UDP的區別,TCP為什么是三次握手,不是兩次? 因為TCP是全雙工協議,區別在于TCP可靠,UDP不可靠,效率更高。 詳解: TCP(傳輸控制協議)和 UDP(…

一款強大的實時協作Markdown工具 | CodiMD 9.6K ?

CodiMD 介紹 CodiMD 是一個開源的實時協作 Markdown 筆記工具,它允許用戶在任何平臺上共同編輯 Markdown 文檔。核心功能是實時協作,它允許多個用戶同時編輯同一個文檔,并實時看到彼此的更改。支持實時渲染預覽,支持超多的富文本格…

若依如何切換 tab 不刷新

方法 如上圖配置 菜單中選是否緩存:緩存 資料 前端手冊 |RuoYi:

【浙江大學DeepSeek公開課】回望AI三大主義與加強通識教育

回望AI三大主義與加強通識教育 一、人工智能三大主義二、人工智能發展歷程三、從 ChatGPT 到 DeepSeek四、人工智能通識教育五、人工智能的挑戰與未來 一、人工智能三大主義 符號主義 :邏輯推理,將推理視為計算過程。如蘇格拉底三段論,通過前…

邊緣計算全透視:架構、應用與未來圖景

邊緣計算全透視:架構、應用與未來圖景 一、產生背景二、本質三、特點(一)位置靠近數據源(二)分布式架構(三)實時性要求高 四、關鍵技術(一)硬件技術(二&#…

C++——多態、抽象類和接口

目錄 多態的基本概念 如何實現多態 在C中,派生類對象可以被當作基類對象使用 編程示例 關鍵概念總結 抽象類 一、抽象類的定義 基本語法 二、抽象類的核心特性 1. 不能直接實例化 2. 派生類必須實現所有純虛函數才能成為具體類 3. 可以包含普通成員函數和…

初級達夢dba的技能水準

在x86環境(windows、linux)安裝單機軟件,安裝客戶端創建過至少20套數據庫,優化參數并更新過正式許可會用邏輯導出導入以及dmrman備份了解manager工具的使用配置sqllog日志,并能解釋輸出內容能夠分析因磁盤空間不足、內…

監控頁面卡頓PerformanceObserver

監控頁面卡頓PerformanceObserver 性能觀察器掘金 const observer new PerformanceObserver((list) > {}); observer.observe({entryTypes: [longtask], })

智能座艙測試內容與步驟

智能座艙的測試步驟通常包括以下環節: 1.測試環境搭建與準備 ? 硬件需求分析:準備測試車輛、服務器與工作站、網絡設備以及傳感器和執行器模擬器等硬件設備。 ? 軟件需求分析:選擇測試管理軟件、自動化測試工具、模擬軟件和開發調試工具等。…

Redis——網絡模型

目錄 前言 1.用戶空間和內核空間 1.2用戶空間和內核空間的切換 1.3切換過程 2.阻塞IO 3.非阻塞IO 4.IO多路復用 4.1.IO多路復用過程 4.2.IO多路復用監聽方式 4.3.IO多路復用-select 4.4.IO多路復用-poll 4.5.IO多路復用-epoll 4.6.select poll epoll總結 4.7.IO多…

電力系統中為什么采用三相交流電?

電力系統中為什么采用三相交流電 電力系統中采用三相交流電,主要是因為它在輸電效率、設備使用、能量傳輸平穩性等方面相比單相交流或直流電具有顯著優勢。下面我詳細解釋一下原因: 🌟 1. 提高輸電效率(節省電纜材料)…

python簡介與入門

目錄 python初始 python的優勢 python的特性 python的應用領域 Linux環境中安裝python 下載python3.11.6 安裝依賴包 解壓python壓縮包 安裝python 編譯及安裝 建立軟連接 測試python3運行 設置國內pip更新源 更新pip版本(必須更新) wind…

Web內網滲透知識大全

內網滲透 端口轉發 需要三個主機,Windows7、Windows2016、kali Windows7為內網主機 Windows2016為跳板機 kali為攻擊機 使用到的工具 netsh、MSF 我們先在Windows7上開啟一個80服務,而這個80服務只能由Windows2016訪問,kali不能訪問 我們…

ffmpeg av_buffer_unref的邏輯實現; av_freep 和 av_freep函數的區別

av_buffer_unref 是 FFmpeg 中用于管理引用計數和內存釋放的核心函數,其內部實現機制如下: ?一、核心流程? ?引用計數遞減? 函數首先對 AVBufferRef 的 buffer->refcount 進行原子遞減操作(通過 atomic_fetch_add_explicit 等機制保證…

從 GPS 數據中捕捉城市休閑熱點:空間異質性視角下的新框架

從 GPS 數據中捕捉城市休閑熱點:空間異質性視角下的新框架 原文:Capturing urban recreational hotspots from GPS data: A new framework in the lens of spatial heterogeneity 1. 背景與意義 城市娛樂活動的重要性: 娛樂活動是城市生活…