本脚本主要复制粘贴自:https://www.jianshu.com/p/1a5c0228efb0

git代码,如果在提交后,还希望将当时的名字、邮箱全部修改掉,则需要对其进行rebase调整

具体步骤1,git 的bash窗口,创建bare仓库中,

git clone --bare https://github.com/用户名/库名.git

步骤2,将下面的名字、邮箱修改正确,脚本代码:

#!/bin/shgit filter-branch --env-filter 'OLD_EMAIL="XXX@gmail.com"CORRECT_NAME="YYY"CORRECT_EMAIL="YYY@gmail.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL"]thenexport GIT_COMMITTER_NAME="$CORRECT_NAME"export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL"]thenexport GIT_AUTHOR_NAME="$CORRECT_NAME"export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
'--tag-name-filter cat -- --branches --tags

步骤3,进入目录,并执行此脚本

步骤4,强推入gitee或github

git push --force --tags origin 'refs/heads/*'

后续,推库后,则bare仓库就没用,可以删除了。

 

标签: none

添加新评论