我的问题是关于 gpg-agent 命令,该命令执行gpg密钥和密码短语的缓存。
我想知道如何使用它,以便我可以在脚本中运行多个 git tag -s 命令,而无需每次都输入我的gpg密码短语。
我的脚本的初始版本是这样的:
git branch -r | grep起源| grep模式|同时读取BRANCH;做TAG =
basename $BRANCH
; git tag -s -m“tag $ TAG release”“$ TAG”“$ BRANCH”;完成的;
我有两个用例:
我正在寻找运行 gpg-agent 的命令行,然后运行gpg命令以运行我的密码缓存,以便在我执行时可以使用git tag -s
答案 0 :(得分:2)
这可以通过在运行脚本之前运行gpg-agent
来完成。例如:
$ eval $( gpg-agent --daemon )
$ for branch in $( git branch -r | grep PATTERN ); do
> tag="$( basename $BRANCH )"
> git tag -sm "tag $tag release" "$tag" "$branch"
> done
系统会提示您输入第一个签名的密码(除非在第一个签名之前已经使用过gpg-agent)。如果使用上述方法,请务必在完成后终止代理(例如pkill gpg-agent
)。
有关运行代理的更多信息,请访问:http://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html