git修改历史记录邮箱
- 因为公司统计代码行数,必须是公司邮箱才能统计到名下,而我苦逼的把git邮箱设置错一个字母并且很久后才发现,所以你见到了这篇文章,为了将历史提交中的邮箱全部修改为正确邮箱我走了很多弯路,所以我决定将解决办法记录下来,方便更多和我有同样遭遇的程序猿。
一、在项目根目录新建modify_author.sh
- 替换其中文字“旧的邮箱”、“新的用户名”,“新的邮箱”
- 注意:执行脚本前需要提交所有代码
#!/bin/sh
git filter-branch --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_COMMITT