Git 批量修改用户名和邮箱

一行脚本批量修改 Git 用户名和邮箱……

业务上依赖了一个自动生成表单的库,虽然是楼下团队写的,但是维护在开源社区。

最近遇到些水土不服的“Bug”,求人次数多了人家也烦,索性就自己改八改八推 GitHub PR 了。

推完 GitHub 回来发现公司的 GitLab 推不上去了,要用公司账号才行,拉了一下提交 log 好家伙已经一堆了,每个手动改账号肯定不现实。

于是便搜刮了一个批量改 Git 账号的脚本,sh 跑一下就行,灰常银杏~

git filter-branch --env-filter '

oldEmail="替换原邮箱"
newName="替换原用户名"
newEmail="替换新邮箱"

if [ "$GIT_COMMITTER_EMAIL" = "$oldEmail" ]; then
export GIT_COMMITTER_NAME="$newName"
export GIT_COMMITTER_EMAIL="$newEmail"
fi

if [ "$GIT_AUTHOR_EMAIL" = "$oldEmail" ]; then
export GIT_AUTHOR_NAME="$newName"
export GIT_AUTHOR_EMAIL="$newEmail"
fi

' --tag-name-filter cat -- --branches --tags

preview

查看评论