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
系统推荐
- getPath vs getAbsolutePath vs getCanonicalPath
- 常见问题
- ES6.2.3(3节点)数据迁移到ES7.4.1(5节点)
- 线上FullGC频繁的排查
- 分库分表
- 推荐几个适用小工具
- 行转列不再复杂:SQL高手都在用的技巧揭秘
- MyBatis xml特殊字符处理
- Lombok的Accessors导致EasyExcel读取失败
- 批量替换文件名中的指定字符串
- SpringCloud总体认识
- 表单重复提交解决方案
- 随机毒鸡汤:夜太美,尽管再危险,总有人黑着眼眶修着仙。