git修改提交历史的用户名和邮箱

发布时间 2023-06-02 23:51:56作者: xiaobingch

1.clone仓库

拉取最新代码

git clone

2.查看日志

-- 查看没修改之前的作者和邮箱
git log

3.命令行执行

修改下面的中文即可,注意之前的邮箱不能写错,大小写都不能错

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

4.查看日志

-- 看看是否已经修改了
git log

5.执行后强制同步

git push --force origin 分支名
    或者
git push origin --force --all