跳至主要内容

签署提交

您可以使用 GPG、SSH 或 S/MIME 在本地签署提交。

注意

如果您的 Git 客户端配置为默认签署提交,则GitHub Desktop仅支持提交签名。

提示

要将您的 Git 客户端配置为默认签署本地存储库的提交,在 Git 2.0.0 及更高版本中,运行git config commit.gpgsign true。要默认签署计算机上任何本地存储库中的所有提交,请运行git config --global commit.gpgsign true

要存储您的 GPG 密钥密码短语,以便您不必每次签署提交时都输入它,我们建议使用以下工具

  • 对于 Mac 用户,GPG Suite允许您将 GPG 密钥密码短语存储在 macOS 密钥链中。
  • 对于 Windows 用户,Gpg4win与其他 Windows 工具集成。

您还可以手动配置gpg-agent以保存您的 GPG 密钥密码短语,但这不像 ssh-agent 那样与 macOS 密钥链集成,并且需要更多设置。

如果您有多个密钥,或者尝试使用与提交者身份不匹配的密钥签署提交或标签,则应告诉 Git 您要签名的密钥

  1. 在提交本地分支中的更改时,将 -S 标志添加到 git commit 命令

    $ git commit -S -m "YOUR_COMMIT_MESSAGE"
    # Creates a signed commit
    
  2. 如果您使用的是 GPG,在创建提交后,请提供您在生成 GPG 密钥时设置的密码短语。

  3. 在本地创建完提交后,将其推送到 GitHub 上的远程存储库

    $ git push
    # Pushes your local commits to the remote repository
    
  4. 在 GitHub 上,导航到您的拉取请求。

  5. 在拉取请求中,单击 提交.

    Screenshot of the title and tabs on a pull request. The "Commits" tab is outlined in dark orange.

  6. 要查看有关已验证签名的更多详细信息,请单击**已验证**。

    Screenshot of a commit in the commit list for a repository. "Verified" is highlighted with an orange outline.

进一步阅读