Skip to main content

对提交签名

使用 GPG、SSH 或 S/MIME,可以在本地对提交进行签名。

Note

如果 Git 客户端配置为默认对提交进行签名,GitHub Desktop 仅支持提交签名。

Tip

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

要存储 GPG 密钥密码,以便无需在每次对提交签名时输入该密码,我们建议使用以下工具:

  • 对于 Mac 用户,GPG 套件支持在 macOS 密钥链中存储 GPG 密钥密码。
  • 对于 Windows 用户,Gpg4win 将与其他 Windows 工具集成。

你也可以手动配置 gpg-agent 以保存 GPG 密钥密码,但这不会与 macOS 密钥链(如 ssh 代理)集成,并且需要更多设置。

如果你有多个密钥或尝试使用与你的提交者标识不匹配的密钥对提交或标记进行签名,应将签名密钥告知 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. 在拉取请求上,单击 “提交”。

    拉取请求上的标题和选项卡的屏幕截图。 “提交”选项卡以深橙色框出。

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

    存储库提交列表中提交的屏幕截图。 “已验证”以橙色轮廓突出显示。

其他阅读材料