跳至主要内容

签署提交

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

注意

仅当您的 Git 客户端配置为默认签署提交时,GitHub Desktop 才支持提交签名。

提示

要为本地仓库配置 Git 客户端默认签署提交(Git 2.0.0 及以上版本),请运行 git config commit.gpgsign true。若要在电脑上的任何本地仓库中默认签署所有提交,请运行 git config --global commit.gpgsign true

为了存储 GPG 密钥的密码短语,使您在每次签署提交时无需重复输入,我们推荐使用以下工具

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

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

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

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

    $ 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.

延伸阅读

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