Skip to main content

此版本的 GitHub Enterprise 将停止服务 2023-01-18. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

对提交签名

可以使用 GPG 或 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 支持在 Mac OS 密钥链中存储 GPG 密钥密码。
  • 对于 Windows 用户,Gpg4win 将与其他 Windows 工具集成。

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

如果你有多个密钥或尝试使用与你的提交者标识不匹配的密钥对提交或标记进行签名,应将签名密钥告知 Git

  1. 当本地分支中的提交更改时,请将 S 标志添加到 git commit 命令:
    $ git commit -S -m "YOUR_COMMIT_MESSAGE"
    # Creates a signed commit
  2. 如果使用 GPG,创建提交后,请提供生成 GPG 密钥时设置的密码。
  3. 在本地完成创建提交后,将其推送到 GitHub Enterprise Server 上的远程仓库:
    $ git push
    # Pushes your local commits to the remote repository
  4. 在 GitHub Enterprise Server 上,导航到您的拉取请求。
  5. 在拉取请求上,单击 “提交”。 拉取请求上的“提交”选项卡
  6. 要查看关于已验证签名的更多详细信息,请单击 Verified(已验证)。 已签名提交

延伸阅读