给Git历史提交添加GPG签名

今天给 commit 添加了 GPG 签名,但是以前的提交记录却没有签名。 使用以下命令 注意:以下命令会修改历史,变更 commit id ,其他人会不同步,慎用。 对历史所有提交增加签名: git filter-branch -f --commit-filter 'git commit-tree -S "$@"' HEAD 对最后 X 次提交增加签名: git filter-branch -f --commit-filter 'git commit-tree -S "$@"' HEAD~X..HEAD 对指定提交者 Email 增加签名: git filter-branch -f --commit-filter ' if [ "$GIT_COMMITTER_EMAIL" = "[email protected]" ] then git commit-tree -S "$@" fi ' 推送到远程 git push -f

2022-01-06 · 1 分钟

自动部署

每次写一篇新的文章或者有一点改动,都要手动放到服务器上,特别麻烦,所以今天来搭建一个自动部署环境。每次修改之后只要 push 到 github 上就可以了。 我对 Docker 还是很喜欢的,所以这次环境也用 Docker 进行搭建。 安装 Docker 安装 Docker # 卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 设置存储库 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo # 安装 Docker sudo yum install docker-ce docker-ce-cli containerd.io # 启动docker sudo systemctl start docker # 运行此命令以下载 Docker Compose 的当前稳定版本 sudo curl -L "https://github....

2021-12-18 · 3 分钟

修改Git历史提交用户名与邮箱

今天意外发现 GitHub 上的 commit 记录有两个用户名,一个是公司的配置,一个是家里的配置。所以需要将已经提交的 commit 记录的Author和email修改回来。 修改本机全局用户名与邮箱 先将本机的用户名与邮箱修改正确,防止以后再次提交错误。 git config --global user.name "输入你的用户名" git config --global user.email "输入你的邮箱" 查看历史提交信息 首先git clone一份代码,执行git log查看历史提交信息,记住要修改的Author和email。 批量修改历史信息 将下列代码复制到文本中修改为自己的信息,然后将代码复制到命令行回车运行。 注意:以下命令会修改历史,变更 commit id ,其他人会不同步,慎用。 git filter-branch -f --env-filter ' OLD_EMAIL="原来的邮箱" CORRECT_NAME="现在的名字" CORRECT_EMAIL="现在的邮箱" if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] then export GIT_COMMITTER_NAME="$CORRECT_NAME" export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" fi if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] then export GIT_AUTHOR_NAME="$CORRECT_NAME" export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" fi ' --tag-name-filter cat -- --branches --tags 运行之后会出现一个警告,不用管等待执行结束就好了。 # 警告信息 WARNING: git-filter-branch has a glut of gotchas generating mangled history rewrites....

2021-12-15 · 1 分钟