Github修改username后修复git历史异常
2022/1/4 6:07:45
本文主要是介绍Github修改username后修复git历史异常,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-
修改
~/.gitconfig
文件中的user.name
,user.email
. -
将下面的脚本文件
git-user-change.sh
放在需要修改的项目的上一层文件夹中, 脚本的源码中需要修改对应的用户名和邮箱. -
在项目根目录下执行
sh ../git-user-change.sh
便开始自动化重写所有脚本能匹配到的提交信息了. 拥有条件判断的此脚本, 最大的好处便是, 不会覆盖掉团队协作项目中, 他人的提交信息.
下面这条命令会将项目 Git 所有历史里删除对 src.zip 的记录, 整个 .git 文件夹会轻很多.git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch ./src.zip' --prune-empty --tag-name-filter cat -- --all
-
强制更新
git push origin --force
, 如果需要授权, 在 github 上修改 SSH 公钥.
- 下面是
git-user-change.sh
的代码, 保存后执行上面的命令, 其中if
中的判断条件是原来的邮箱,then
中是现在的名字和邮箱.
#!/bin/sh git filter-branch --env-filter ' an="$GIT_AUTHOR_NAME" am="$GIT_AUTHOR_EMAIL" cn="$GIT_COMMITTER_NAME" cm="$GIT_COMMITTER_EMAIL" if [ "$GIT_COMMITTER_EMAIL" = "willsnowdev@gmail.com" ] then cn="shengwei.xu" cm="shengwei.xu@qq.com" fi if [ "$GIT_AUTHOR_EMAIL" = "willsnowdev@gmail.com" ] then an="shengwei.xu" am="shengwei.xu@qq.com" fi export GIT_AUTHOR_NAME="$an" export GIT_AUTHOR_EMAIL="$am" export GIT_COMMITTER_NAME="$cn" export GIT_COMMITTER_EMAIL="$cm" '
参考文章
这篇关于Github修改username后修复git历史异常的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27数据结构与算法面试题详解及练习
- 2024-12-27网络请求面试题详解与实战
- 2024-12-27数据结构和算法面试真题详解与实战教程
- 2024-12-27网络请求面试真题解析与实战教程
- 2024-12-27数据结构和算法大厂面试真题详解与实战指南
- 2024-12-27TS大厂面试真题解析与应对策略
- 2024-12-27TS大厂面试真题详解与解析
- 2024-12-27网站安全入门:如何识别和修复漏洞
- 2024-12-27SQL注入基础教程
- 2024-12-27初学者指南:理解和修复跨域漏洞