如何对git中的commit添加/删除GPG签名?

在rebase时,会进行一系列的commit操作(封装好的),对用户是透明的看不到,会将基点之前的commit GPG签名全部删除,因为它本质是一系列的commit操作(我猜测的),所以我们可以利用这个特性自由地对commit添加/删除GPG签名(影响到基点之后的全部commit),接着在交互界面中将pick改成reword即可。

1、rebase参数说明

git rebase的签名参数,引用自:Git - git-rebase Documentation (git-scm.com)

-S[<keyid>]
--gpg-sign[=<keyid>]
--no-gpg-sign

GPG-sign commits. The keyid argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. --no-gpg-sign is useful to countermand both commit.gpgSign configuration variable, and earlier --gpg-sign.

2、样例

使用git log --show-signature检查commit是否进行GPG签名。

1、添加gpg签名(基点之后的commit全部添加签名)

git rebase -S -i <commit id> #-S 与--gpg-sign 等价

接着将任意一个commit的pick改成reword保存后(这样才会触发rebase,并且不会对commit有其他改动),后面那个也不用动保存即可。

2、删除gpg签名(基点之后的commit全部删除签名)

git rebase --no-gpg-sign -i <commit id>

接着将任意一个commit的pick改成reword保存后(这样才会触发rebase,并且不会对commit有其他改动),后面那个也不用动保存即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值