# Centos
yum install gnupg
# Ubuntu
apt install gpg
# windows 听我一句劝,乖乖去用wsl
# 生成gpg
gpg --gen-key
gpg -K # 列出私钥
gpg -k # 列出公钥
# 导出公钥
gpg --armor --output public-key.txt --export XXXXX
# 如果以后迁移其他平台或终端,可以导出导入私钥
gpg -a -o private-file.key --export-secret-keys XXXXX
gpg --import public-file.key
## 去Github - setting - SSH and GPG 添加GPG公钥
# 为了可以输入密码,最好把下面这个加入到你使用的shell的启动配置文件里,
# 例如`.bashrc`,`.profile`, `zprofile`,`.zshrc`
export GPG_TTY=$(tty)
# 为了避免在每次提交时都输入密码,可以让 GPG 记住它 8 小时或直到下一次重启:
#(从StackOVerflow抄来的,不确定有用)
mkdir -p ~/.gnupg
echo "default-cache-ttl 28800" >> ~/.gnupg/gpg-agent.conf
# 设置自动签名
git config --global user.signingkey 63ECA75D
git config --global commit.gpgsign true
# 如果有多个版本的gpg,为git指定使用的gpg的位置
git config --global --add gpg.program /usr/bin/gpg
# 为上次提交签名,需要输入密码
git commit --amend -S -m "add -e to echo command" -s
# 查看签名结果
git log
# 将本地仓库强制覆盖远程仓库
git push orgin -f
# 到github上会发现下游仓库的变更同步到了上游仓库的pr
为之前的commit添加签名signoff
最新推荐文章于 2024-04-09 22:56:44 发布