sor*_*rin 8 git git-config git-tag
很少有仓库我使用需要签署所有标签,有时我忘了加-s来git tag,或者更糟的是,我创建使用没有关于标签想法git的GUI标签.
有没有办法配置GIT始终签署标签?
我提到我尝试添加以下hack(s).gitconfig但它没有任何效果,标签是在没有签名的情况下创建的,除非我在cli上手动提到了-s.
[alias]
tag = tag -s
[tag]
forceSignAnnotated = true
[commit]
gpgsign = true
Run Code Online (Sandbox Code Playgroud)
虽然git tag没有"默认签名"模式,但文档提到:
一旦有了用于签名的私钥,就可以通过设置user.signingkey配置设置来配置Git以使用它来签名.
git config --global user.signingkey 0A46826A
Run Code Online (Sandbox Code Playgroud)
默认情况下,
git config tag.gpgSign true在sign-with-default模式下(git tag)将使用您的提交者身份(表单-s)来查找密钥.
如果要使用其他默认密钥,可以在存储库配置中指定它,如下所示:
[user]
signingKey = <gpg-keyid>
Run Code Online (Sandbox Code Playgroud)
注意:如果使用Your Name <your@email.address>选项(-m)创建标记,则会对其进行注释.
如果
git tag或被-m <msg>给予,和-F <file>,-a并且-s缺席,-u <keyid>则暗示.
所以你可以:
-a)add -s这样,任何git config tag.forceSignAnnotated true会触发gpgpSign.
仅适用于带注释的标签,但由于那些应该不仅仅是您的仓库本地但也被推送,这应该足够了.
[alias]
tag = tag -s
Run Code Online (Sandbox Code Playgroud)
您不能使用别名覆盖内置命令。使用不同的名称作为别名:
[alias]
stag = tag -s
Run Code Online (Sandbox Code Playgroud)
至于
[tag]
forceSignAnnotated = true
Run Code Online (Sandbox Code Playgroud)
这会强制对带注释的标签进行签名,但您必须创建带注释的标签git tag -a,这并不比git tag -s.
| 归档时间: |
|
| 查看次数: |
1243 次 |
| 最近记录: |