Hub 文件

使用 GPG 簽署提交

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

使用 GPG 簽署提交

git 有一個身份驗證層來控制誰可以向倉庫推送提交,但它不會驗證實際的提交作者。

換句話說,你可以以 Elon Musk <elon@tesla.com> 的身份提交更改,將它們推送到你喜歡的 git 主機(例如 github.com),你的提交將連結到 Elon 的 GitHub 個人資料。(試試吧!但如果 Elon 因為你冒充他而生氣,別怪我們。)

我們實現 GPG 簽名的原因如下:

  • 提供更細粒度的安全性,尤其是隨著越來越多的企業使用者依賴 Hub。
  • 提供由加密安全來源支援的 ML 基準測試。

請參閱 Ale Segala 的《如何(以及為什麼)簽署 git 提交》以獲取更多背景資訊。

你可以透過 GNU Privacy Guard (GPG) 和金鑰伺服器來證明一次提交是由你創作的。GPG 是一種用於驗證訊息來源真實性的加密工具。我們將在下面解釋如何在 Hugging Face 上進行設定。

Pro Git 這本書,一如既往,是關於提交簽名的好資源:Pro Git: 簽署你的工作

設定已簽署提交的驗證

你需要在你的系統上安裝 GPG 以執行以下命令。

它在大多數 Linux 發行版中預設包含。在 Windows 上,它包含在 Git Bash 中(隨 git for Windows 一起提供)。

你可以使用 GPG 在本地簽署你的提交。然後在你的個人資料中進行配置,以將這些提交在 Hub 上標記為已驗證,這樣其他人就可以確信它們來自可信的來源。

有關 git 和 GPG 如何互動的更深入解釋,請訪問關於此主題的 git 文件

提交可以有以下簽名狀態:

狀態 說明
已驗證 提交已簽名且簽名已驗證
未驗證 提交已簽名但無法驗證簽名
無簽名狀態 提交未簽名

要使提交被標記為已驗證,你需要在你的 Hugging Face 賬戶上上傳用於簽名的公鑰。

使用 gpg --list-secret-keys 命令列出你同時擁有公鑰和私鑰的 GPG 金鑰。簽名提交或標籤需要私鑰。

如果你沒有 GPG 金鑰對,或者不想使用現有的金鑰來簽署你的提交,請轉到生成新的 GPG 金鑰

否則,直接轉到將 GPG 金鑰新增到你的賬戶

生成新的 GPG 金鑰

要生成 GPG 金鑰,請執行以下命令:

gpg --gen-key

然後,GPG 將指導你完成建立 GPG 金鑰對的過程。

請確保為該金鑰指定一個電子郵件地址,並且該電子郵件地址與你在 Hugging Face 賬戶中指定的地址相匹配。

將 GPG 金鑰新增到你的賬戶

  1. 首先,在你的計算機上選擇或生成一個 GPG 金鑰。確保金鑰的電子郵件地址與你的 Hugging Face 賬戶中的地址匹配,並且你賬戶的電子郵件已透過驗證。

  2. 匯出所選金鑰的公鑰部分:

gpg --armor --export <YOUR KEY ID>
  1. 然後訪問你的個人資料設定頁面,並點選新增 GPG 金鑰

gpg --export 命令的輸出複製並貼上到文字區域,然後點選新增金鑰

  1. 恭喜!🎉 你剛剛向你的賬戶添加了一個 GPG 金鑰!

配置 git 使用 GPG 簽署你的提交

最後一步是配置 git 來簽署你的提交:

git config user.signingkey <Your GPG Key ID>
git config user.email <Your email on hf.co>

然後,在你的 git commit 命令中新增 -S 標誌來簽署你的提交!

git commit -S -m "My first signed commit"

一旦推送到 Hub,你應該會看到提交帶有一個“已驗證”的徽章。

要在你計算機上的任何本地倉庫中預設簽署所有提交,你可以執行 git config --global commit.gpgsign true
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.