[解决方案]修改Github历史提交记录中的username和email信息

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Kexiii/article/details/86561273

需求

在不同的机器、电脑上完成开发,提交代码到github上后,发现自己忘记修改git config中的username和email,导致在github历史commit记录中出现了不一致的提交用户id,需要进行订正。

解决方案

  1. clone代码库
  2. 进入代码目录,在目录下创建文末的脚本,修改脚本中的OLD_EMAIL、CORRECT_NAME、CORRECT_EMAIL等参数
  3. 运行脚本
  4. git push --force --tags origin 'refs/heads/*'
  5. 搞定。
#!/bin/sh

git filter-branch --env-filter '
OLD_EMAIL="填入旧的、错误的email"
CORRECT_NAME="填入修改后的username"
CORRECT_EMAIL="填入修改后的email"
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

猜你喜欢

转载自blog.csdn.net/Kexiii/article/details/86561273
今日推荐