跳至主要内容

签署提交

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

注意: GitHub Desktop 仅在你的 Git 客户端配置为默认签名提交时才支持提交签名。

提示

要将你的 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.

进一步阅读