我正在合作一个项目,该项目要求对所有提交进行GPG签名。
不幸的是,我正在使用的Git GUI客户端和git
CLI接口不支持GPG签名。我知道如何轻松地sign commits after the fact,所以这不是什么大问题。
但是我必须记住这样做。结果,我有时会不小心推送未签名的提交。有什么方法可以很容易地从客户端防止这种情况吗?
我正在合作一个项目,该项目要求对所有提交进行GPG签名。
不幸的是,我正在使用的Git GUI客户端和git
CLI接口不支持GPG签名。我知道如何轻松地sign commits after the fact,所以这不是什么大问题。
但是我必须记住这样做。结果,我有时会不小心推送未签名的提交。有什么方法可以很容易地从客户端防止这种情况吗?
1条答案
按热度按时间am46iovg1#
使用Git
pre-push
钩子,可以很容易地按存储库完成此操作。创建一个位于
.git/hooks/pre-push
的可执行文本文件,内容如下:当你尝试不小心推送未签名的提交时,推送将被阻止:
请注意,钩子不会与其他代码一起克隆、推送或拉取。如果您的同事或合作者想要使用此钩子(或任何其他钩子),则需要他们自己添加。
当你对仓库没有严格的控制权,并且想控制自己的行为时,这个解决方案是很好的。如果你是仓库的实际所有者,并且想保护仓库不接受未签名的提交,你应该找到另一个解决方案。