我创建了一个标签并忘了签名,然后将标签推送到GitHub。是否可以追溯签署该标签,还是必须创建新标签?
我已经阅读了git tag
的手册页并进行了一些搜索,但是没有提出任何线索可以为现有标记添加签名。
答案 0 :(得分:8)
不,你需要::
replace it with a tag using the same name:
git tag <tag name> <tag name> -f -s
但首先设置提交者日期,以便不更改日期
set GIT_COMMITTER_DATE="$(git log -1 --format=%aD <tag_name>)"
答案 1 :(得分:1)
我知道这是一个老问题,但与 VonC 所说的不同。我创建了一个单行 bash 脚本,它可以遍历存储库中的所有标签并自动对其进行签名。您所要做的就是接受或更改旧标签中设置的消息。这是我想出的命令
git for-each-ref refs/tags | awk '{print $3}' | cut -c11- | xargs -I % sh -c 'git tag % % -f -s'