当你辛苦做一个项目,而且还很完美的提交所有内容,突然某天发现git的用户名错了或者是邮箱错了,这对一个程序员或者是强迫症患者来说是多么痛苦的一件事。
不用担心,下面告诉大家如何修改所有提交记录中的用户名和密码。
在git仓库目录下新建一个文件 “fix_name_email.sh” ,把下面内容拷贝到新建的文件中并保存,将权限设置为777,在终端执行 “./fix_name_email.sh” 即可。是不是很简单呀!
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="eker_ch@foxmail.com"
CORRECT_NAME="eker"
CORRECT_EMAIL="eker.ch@foxmail.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
fix_name_email.sh是shell脚本文件,它所做的事情就是遍历所有提交记录,对比邮箱,如果发现不一样的就更改成新的邮箱。