- A+
文章目录
修改默认分支为 main
运行 git config --global init.defaultBranch main
修改提交邮箱
运行 git config --global user.email "新邮箱"
批量修改历史 commit 的邮箱
因为更换了邮箱地址,所以需要更改一下
项目目录下运行以下代码
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
运行后等待一会,才会开始运行(等待期间若有问题可以退出)
完成后运行 git push -f
强制推送即可
GPG 密钥加签
偶然发现在 Github 上进行的 commit 有 verified 的标志,本地 git 提交的就没有
了解了一下,发现需要 gpg 验证
打开 Git Bash 命令行,运行 gpg --gen-key
即可生成密钥对(需要输入邮箱、用户名,然后设置证书密码)
运行 gpg --list-key
即可列出公钥
gpg --list-secret-keys
列出密钥gpg -a --export
导出公钥gpg -a --export-secret-keys
导出密钥
把公钥填到 Github 里,并复制这里的 Key ID
然后在 Git Bash 里运行
git config --global user.signingkey 你的KeyID
这样就可以为以后的提交设置身份了(需要 密钥对邮箱、本地 git 提交邮箱以及 Github 的主要邮箱 一致) IDEA 等需要设置一下(每个项目都需要改)
如果希望能一劳永逸的话,可以运行
git config --global commit.gpgsign true
和
git config --global gpg.program [git 安装目录]\\usr\\bin\\gpg.exe
就是每次 commit 需要输入密码验证(嫌麻烦建议别搞这东西)
为历史 commit 加签
把项目拉取下来
在项目目录打开命令行
运行 git rebase -i --root
跳出文件后,把需要修改的 commit 的 pick 改成 edit,然后关闭文件
命令行里会变成如下内容
运行 git commit --amend -S
其中 amend 表示修正, S 表示加签
同样的,这个命令也可以用于修改 commit 的提交者信息
git commit --amend --author="FoskyM <[email protected]>" -S
即可修改提交者信息并加签
会跳出文件,你可以把 commit message 也顺手改了,然后关闭文件即修改完 commit 了
第一下会跳出密码验证,后续不需要
运行 git rebase --continue
继续修改下一条 commit,重复之前操作直到出现以下内容
运行 git push -f
推送至仓库 再打开仓库 commit 记录查看,都有 verified 的标志了,顺眼多了
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫