Git中修改账户邮箱

设置全局的用户名和邮箱

Git刚刚安装上的时候通过关键字global设置全局的用户名和密码。

git config --global user.name 'gaopeng'
git config --global user.email 'gaopeng62524@126.com'

设置当前项目的用户名和邮箱

有些项目希望用另外一个邮箱,可以使用下面的方式设置,不带global的设置只对当前项目有效。

git config user.name 'gaopeng'
git config user.email '897710242@qq.com'

可以通过下面两行命令查看设置的区别

# 获取全局的邮箱设置
git config --global user.email
# 获取当前项目的邮箱设置
git config user.email

修改已提交的commit中的邮箱

有的时候提交了才发现邮箱写错了,这时候可以通过下面的方式来修改。

创建change_email.sh,内容如下

#!/bin/sh

git filter-branch -f --env-filter '

# 定义常量
OLD_EMAIL="gaopeng62524@126.com"
# 不仅可以修改邮箱,还可以修改用户名
CORRECT_NAME="gaopeng"
CORRECT_EMAIL="897710242@qq.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

给这个文件加上执行权限chmod +x ./change_email.sh,然后执行这个文件。

查看log,已经都改成新的邮箱了。最后一步就是推送到远端git push --force --all

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容