Git历史记录修改用户名和邮箱
大约 2 分钟
进入仓库目录,执行
#!/bin/sh git filter-branch -f --env-filter ' OLD_EMAIL="旧邮箱" CORRECT_NAME="新用户名" CORRECT_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 git config user.name "$CORRECT_NAME" git config user.email "$CORRECT_EMAIL" ' --tag-name-filter cat -- --branches --tags
执行
git push --force
如果执行1的过程中出错,可以执行下面命令后重试
rm -rf .git/refs/original/ git reflog expire --expire=now --all 或者 git update-ref -d refs/original/refs/heads/master 或者 git filter-branch -f --tree-filter -f 'rm -f test' -- --all
系统推荐
- 在没有 telnet 和 nc 的世界里,如何优雅地判断端口是否通?
- JVM垃圾收集器
- 弱引用示例
- MySQL锁、事务、隔离级别
- JDK8 G1 堆内存居然不释放
- 常用队列
- Centos离线安装Docker
- Markdown软件比对
- CentOS7下Docker端口映射后防火墙失效
- SpringCloud总体认识
- MySQL数据迁移到PGSQL
- ESRally性能测试步骤
- 随机毒鸡汤:收到情书时要望着对方,才好听清,她要你转交的人。