簡體   English   中英

使用 gpg 在 eclipse 中簽署 git 提交

[英]Use gpg to sign git commits in eclipse

github 中有一個很好的功能,表明 git 提交是使用 gpg 密鑰簽名的。

我關注了以下文章:

我現在可以默認使用命令行簽署我的提交和標簽。
(這在 github 存儲庫中也可見/標記為“已驗證”)

但是 eclipse 拒絕(正確地)簽署任何 git 提交(使用 gpg),即使我打開/關閉“退出”按鈕也是如此。 它也沒有顯示提交是否被簽署。

我做錯了什么或者eclipse/egit(還)不能處理gpg?

我使用以下工具

  • Eclipse 火星1+2
  • GPG4Win 2.2.0
  • Git 2.8.2

這似乎是 EGit 缺少的功能,您可能應該向http://bugs.eclipse.org建議此增強功能。

這應該可以通過Eclipse 2019-03 (三年后)實現,其中包括 EGit 5.3.0。

EGit 5.3.0 可以使用 GPG 簽署提交。

注意:EGit 5.3.0 需要 Eclipse Neon (4.6) 或更高版本。
所以你可以在你的 Eclipse 中測試它,只要它是 Neon 或更新的。

帶有新“簽名提交”圖標的 EGit 暫存視圖的屏幕截圖 -- https://wiki.eclipse.org/images/9/9f/Egit-commit-sign.png

右上角的新圖標將允許您切換提交簽名的開啟或關閉。

默認值是從 Git 配置中讀取的。
如果配置選項commit.gpgsign設置為true ,則默認情況下將選擇該按鈕。
user.signingkey的值將用於確定簽名密鑰。

  • 如果未設置該值,則提交者的電子郵件地址將用於查找密鑰。
  • 如果找不到密鑰,則提交將失敗。

將從您的 GPG 密鑰環中查找密鑰( ~/.gnupg/pubring.kbx~/.gnupg/secring.gpg
在 Windows 上,使用目錄%APPDATA%\\gnupg (如果存在)而不是~/.gnupg )。

有關 GPG 簽名密鑰的幫助,請參閱以下 GitHub 幫助頁面:

2022 年更新:

從 EGit 5.11 (Eclipse 2021-03) 開始,您可以


您還可以在 Eclipse 提交時自動簽署提交

以下對我有用:

  1. 在 Eclipse 首選項中引用您的 GPG 安裝: 在此處輸入圖像描述
  2. 更新 your.gitconfig 如下:

添加您的簽名密鑰(替換0150436D9CD488B3 ,請參閱https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key如何找到您的)

git config --global user.signingkey 0150436D9CD488B3

添加您的 GPG 安裝(替換路徑):

git config --global gpg.program "C:\Program Files\Git\usr\bin\gpg.exe"

將自動簽名設置為 true:

git config --global commit.gpgsign = true

現在默認情況下切換“Sign Commit”切換按鈕: 在此處輸入圖像描述

這在 2016 年遇到了 JGit,最初的請求是在 2012 年提出的,並且仍然處於新狀態: https ://bugs.eclipse.org/bugs/show_bug.cgi?id=382212。 可悲的是,在這方面沒有太多明顯的吸引力。

可能是時候考慮 git 2.34 或更高版本了,您可以在其中使用 SSH 密鑰來簽署 git 提交和標記。 自 2021 年底以來一直存在。Git 使用ssh-keygen -Y對內容進行簽名和驗證。 現在我們都在 2.35.1 上,我的團隊正朝着這個方向前進。 我們以前為此目的使用 GPG。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM