多用户开发的时候,一般会设置一个全局的用户信息,如果不小心错误使用了全局的账号信息, 可以通过如下的方法修改历史记录的用户信息。
Tip:可以直接拷贝脚本在终端执行,也可以保存为脚本文件,调用脚本文件
update.sh
#!/bin/sh
git filter-branch --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
注意:修改历史记录会导致提交的哈希值发生变化,如果是团队协作开发,需要谨慎操作。
参考资料
文档信息
- 本文作者:Bob.Zhu
- 本文链接:https://home.mytool.group/2022/03/22/01-change-commit-user/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
