git修改已提交的履历的作者信息
git修改已提交的履历的作者信息
场景
有的时候修改了git配置的全局用户名和邮箱,但是已经提交了几次代码,这个时候需要修改已经提交的代码的提交者信息。
操作
为了保证修改之后的提交我们使用正确的提交者信息,我们需要先修改git配置信息。
- 如果之前全局配置设定要修改的情况下,需要先修改git全局配置
git config --global user.name "new name"
git config --global user.email "new email"
- 全局配置不需要修改,只修改当前项目仓库git配置信息
git config user.name "new name"
git config user.email "new email"
- git配置信息修改完成后,命令行执行以下命令并替换其中的
OLD_EMAIL、CORRECT_NAME、CORRECT_EMAIL为要修改的值。
git filter-branch --env-filter '
OLD_EMAIL="old email"
CORRECT_NAME="new name"
CORRECT_EMAIL="new 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 log命令确认本地修改成功后强制推送到远程仓库
git push -f
::: warning 注意
- 强制推送可能会影响使用同一远程仓库的其他人,请确保在进行此操作之前与团队成员进行沟通。
- 修改前请先备份好代码,避免修改失败后代码丢失。
:::
本文来自博客园,作者:Mazy_699,转载请注明原文链接:https://www.cnblogs.com/mazy-699/p/18145318

浙公网安备 33010602011771号