install:: pip3 install git-filter-repo

github::

doc::


修改 Git 邮箱提交信息

git filter-repo --email-callback "return email.replace(b'old@email.com', b'new@email.com')"
 
git filter-repo --mailmap mailmapfile

mailmapfile 模板:

<new@email.com> <old@email.com>

连用户名一起修改:

new_name <new@email.com> old_name <old@email.com>

修改完成后重新 push 前可能需要先重新设置远程仓库:

git remote add origin <url>
 
git push --set-upstream origin master -f

注:

  • 在 —mailmap 方式中 <> 符号是必须的
  • —email-callback 和 —mailmap 两种方式的邮箱顺序是不一样的

参考