git - 签署 Git 提交时,服务器端有哪些开销?
问题描述
Git 提供了一种使用 GPG 密钥对提交进行签名的方法。与没有签名的相同提交相比, git 服务器端(例如GitHub Enterprise、GitLab Self-Managed等)涉及哪些额外开销?
- 每次提交需要多少存储空间?只是额外存储的GPG密钥ID吗?或者是否还存储了其他东西。
- 每次提交需要多少处理?git 是否需要执行一些资源密集型操作来验证提交?还是只检查 GPG 密钥 ID?
- 推送提交时通过网络发送了多少数据?只有 GPG 密钥 ID 还是更多?
更具体地说,在这些示例之间,服务器端会产生多少开销?
示例 1 - 带签名
git add example.txt
git commit -S -m 'My Commit'
git push
示例 2 - 不签名
git add example.txt
git commit -m 'My Commit'
git push
example.txt
(虽然不确定这是否重要)
Hello World!
解决方案
我相当有信心它所做的只是某种密码学检查。由于 git 本身一直在使用提交哈希做这种事情,我无法想象它的开销要大得多。
事实上,在 GitLab,我们一直在研究资源消耗,最近减少了相当多的内存消耗。我无法想象 GPG 签名过程会对资源利用率产生重大影响——但我可能错了。
推荐阅读
- linux - 如何使用别名命令创建带有自定义输入的命令?
- bert-language-model - 使用 Colab 在自定义数据上微调 BERT
- python - Django 模型中 TimeField 的半小时选择字段
- firebase - 连接到 Firestore 时出错:颤动,MissingPluginException
- java - 在 Java Spring 应用程序中解决竞争条件的最佳方法是什么?
- bluetooth - BLE温度特性转换
- excel - 如何在Angular7中压缩excel文件并下载
- google-chrome - 使用 vue.$http 下载文件在 chrome mobile 上不起作用
- php - 为什么这个`while`循环在更改数据时不处理所有记录?
- javascript - 如何在 React Native 中使用 CreateBottomTabNavigator?