- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
有没有一种简单的方法可以让 Git 始终对创建的每个提交或标记进行签名?
我试过类似的东西:
alias commit = commit -S
但这并没有起到作用。
我不想安装其他程序来实现此目的。是否可以轻松实现?
只是一个附带问题,也许不应该对提交进行签名,只有标签,我从未创建过标签,因为我为 Homebrew 等项目提交了单个提交。
最佳答案
注意:如果您不想一直添加 -S
以确保您的提交已签名,则有一个建议(分支 'pu
'现在,2013 年 12 月,所以不能保证它会成为 git 版本)添加一个配置,它将为你处理该选项。
2014 年 5 月更新:它在 Git 2.0 中(在 resend in this patch series 之后)
参见 commit 2af2ef3通过 Nicolas Vigier (boklm) :
commit.gpgsign
选项来签署所有提交If you want to GPG sign all your commits, you have to add the
-S
option all the time.
Thecommit.gpgsign
config option allows to sign all commits automatically.
commit.gpgsign
A boolean to specify whether all commits should be GPG signed.
Use of this option when doing operations such as rebase can result in a large number of commits being signed. It may be convenient to use an agent to avoid typing your GPG passphrase several times.
该配置通常是按 repo 设置的(您不需要签署您的私有(private)实验性本地 repo ):
cd /path/to/repo/needing/gpg/signature
git config commit.gpgsign true
您可以将它与用作全局设置的 user.signingKey
结合使用(用于您要签署提交的所有 repo 的唯一 key )
git config --global user.signingkey F2C7AB29!
^^^
作为ubombi建议 the comments (并在“GPG Hardware Key and Git Signing”中解释,基于“How to Specify a User Id”)
When using gpg an exclamation mark (
!
) may be appended to force using the specified primary or secondary key, and not to try and calculate which primary or secondary key to use.
请注意 Rik添加 the comments :
If you're using something like a YubiKey (as recommended) you don't need to worry about the exclamation point because the only signing key(s) you should have available for a primary key-pair are:
- the primary key itself, which should have a
#
after it indicating it's not available,- and the secret subkey with a
>
after it indicating it's a stub that points to the YubiKey as the only available signing key in its applet.Only if you keep all your private keys available on your system (bad practice), then probably it would be a good idea to prevent auto-selection between available signing keys
user.signingKey
是在 git 1.5.0(2007 年 1 月)中引入的 commit d67778e :
There shouldn't be a requirement that I use the same form of my name inmy git repository and my gpg key.
Further I might have multiple keys in my keyring, and might want to use one that doesn't match up with the address I use in commit messages.
This patch adds a configuration entry "
user.signingKey
" which, if present, will be passed to the "-u" switch for gpg, allowing the tag signing key to be overridden.
这是通过 commit aba9119 强制执行的(git 1.5.3.2) 为了捕捉如果用户在他们的 .git/config
中错误配置了 user.signingKey
或者只是没有任何 key 的情况在他们的 key 圈上。
注意事项:
signingKey
, not signingkey
,即使 git config
键不区分大小写。仅当您执行 git config --get-regexp
时才有意义, 区分大小写,否则,它只是一种可读性约定;git push --signed
未能考虑 user.signingKey
配置值;user.signingKey
强制签署带注释的 tags 以及提交:commit 61c2fe0 .关于git - 有没有办法使用 GPG key 在 Git 中提交 "autosign"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10161198/
查看“mysqldump -d”并看到一个键是 KEY,而不是“PRIMARY KEY”或“FOREIGN KEY” 什么是关键? 示例: CREATE TABLE IF NOT EXISTS `TA
在我开始使用 Python 的过程中尝试找出最佳编码实践。我用 Pandas 写了一个 csv 到数据框阅读器。它使用格式: dataframe = read_csv(csv_input, useco
在 Flutter 中,用一个例子可以清楚地解释什么? 我的困惑是关于 key,如下面的代码所示。 MyHomepage({Key key, this.title}) : super(key: key
我在我的 Android 应用程序中使用 GCM。要使用 GCM 服务,我们需要创建 Google API key 。因此,我为 android、服务器和浏览器 key 创建了 API key 。似乎
我想在 azure key 保管库中创建一个 secret ,该 key 将具有多个 key (例如 JSON)。 例如- { "storageAccountKey":"XXXXX", "Co
尝试通过带有 encodeforURL() 的 url 发送 key 时,我不断收到错误消息和 decodefromUrl() .代码示例如下。 这是我的入口页面: key = generateSec
是否有检查雪花变体字段中是否存在键的函数? 最佳答案 您可以使用 IS_NULL_VALUE 来查看 key 是否存在。如果键不存在,则结果将为 NULL。如果键存在,如果值为 JSON null,则
我正在尝试运行此命令: sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A 但我收到一个错误: Execu
我有一个 csv 文件,我正在尝试对 row[3] 进行计数,然后将其与 row[0] 连接 row[0] row[3] 'A01' 'a' 'B02'
如何编写具有这种形式的函数: A(key, B(key, C(key, ValFactory(key)))) 其中 A、B 和 C 具有此签名: TResult GetOrAdd(string key
审查 this method我很好奇为什么它使用 Object.keys(this).map(key => (this as any)[key])? 只调用 Object.keys(this).ind
我有一个奇怪的情况。我有一个字典,self.containing_dict。使用调试器,我看到了字典的内容,并且可以看到 self 是其中的一个键。但是看看这个: >>> self in self.c
我需要在我的 Google Apps 脚本中使用 RSA-SHA256 和公钥签署消息。 我正在尝试使用 Utilities.computeRsaSha256Signature(value, key)
我是 React 的初学者开发人员,几天前我看到了一些我不理解的有趣语法。 View组件上有{...{key}},我会写成 key={key} ,它完全一样吗?你有链接或解释吗? render()
代理 key 、合成 key 和人工 key 之间有什么区别吗? 我不清楚确切的区别。 最佳答案 代理键、合成键和人工键是同义词。技术关键是另一个。它们都表示“没有商业意义的主键”。它们不同于具有超出
问题陈述:在 Web/控制台 C# 应用程序中以编程方式检索并使用存储在 Azure Key Vault 中的敏感值(例如数据库连接字符串)。 据我所知,您可以在 AAD 中注册应用,并使用其客户端
问题陈述:在 Web/控制台 C# 应用程序中以编程方式检索并使用存储在 Azure Key Vault 中的敏感值(例如数据库连接字符串)。 据我所知,您可以在 AAD 中注册应用,并使用其客户端
我正在寻找 Perl 警告的解决方案 “引用键是实验性的” 我从这样的代码中得到这个: foreach my $f (keys($normal{$nuc}{$e})) {#x, y, and z 我在
我正在为 HSM 实现 JCE 提供程序 JCE中有没有机制指定 key 生成类型例如: session key 或永久 key KeyGenerator keygen = KeyGener
我在 Facebook 上创建了一个应用程序。我已经正确添加了 keyhash 并且应用程序运行良好但是当我今天来并尝试再次运行它时它给了我这个错误。 这已经是第二次了。 Previsouly 当我收
我是一名优秀的程序员,十分优秀!