Open hughfenghen opened 10 months ago
git filter-branch -f --env-filter ' an="$GIT_AUTHOR_NAME" am="$GIT_AUTHOR_EMAIL" cn="$GIT_COMMITTER_NAME" cm="$GIT_COMMITTER_EMAIL" if [ "$GIT_COMMITTER_EMAIL" = "<误提交记录的邮箱>" ] then cn="<替换成目标用户名>" cm="<替换成目标邮箱>" fi if [ "$GIT_AUTHOR_EMAIL" = "<误提交记录的邮箱>" ] then an="<替换成目标用户名>" am="<替换成目标邮箱>" fi export GIT_AUTHOR_NAME="$an" export GIT_AUTHOR_EMAIL="$am" export GIT_COMMITTER_NAME="$cn" export GIT_COMMITTER_EMAIL="$cm" '
⚠️ 危险警告:然后 强制 push git push -f ;注意不要覆盖别人的提交记录。
git push -f
示例,张三 替换 李四
git filter-branch -f --env-filter ' an="$GIT_AUTHOR_NAME" am="$GIT_AUTHOR_EMAIL" cn="$GIT_COMMITTER_NAME" cm="$GIT_COMMITTER_EMAIL" if [ "$GIT_COMMITTER_EMAIL" = "zhangsan@gmail.com" ] then cn="lisi" cm="lisi@gmail.com" fi if [ "$GIT_AUTHOR_EMAIL" = "zhangsan@gmail.com" ] then an="lisi" am="lisi@gmail.com" fi export GIT_AUTHOR_NAME="$an" export GIT_AUTHOR_EMAIL="$am" export GIT_COMMITTER_NAME="$cn" export GIT_COMMITTER_EMAIL="$cm" ' git push -f
⚠️ 危险警告:然后 强制 push
git push -f
;注意不要覆盖别人的提交记录。示例,张三 替换 李四