Git修改已提交记录的作者信息
参考资料:https://www.cnblogs.com/fangsmile/p/17477340.html
git filter-branch --env-filter '
OLD_EMAIL="old-email@example.com"
CORRECT_NAME="New Author Name"
CORRECT_EMAIL="new-email@example.com"
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
如果提示已经存在:
Proceeding with filter-branch...
Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f
按要求添加强制’-f’改为
git filter-branch -f --env-filter
最后使用以下命令强制推送修改后的提交记录到远程仓库(这个命令会将修改后的提交记录推送到所有分支和标签)
git push --force --tags origin 'refs/heads/*'
评论