[GIT] 修改之前的commit提交的作者信息和邮箱信息 [转]
目录
1 总体思路
- 更改之前提交的作者信息和邮箱信息需要进行两步操作。
首先,使用
git filter-branch
命令进行历史重写
然后,使用git push --force
将更改推送到远程仓库。
Step1 使用 git filter-branch 进行历史重写
在终端或命令行中执行以下命令:
git filter-branch --env-filter '
OLD_EMAIL="旧的邮箱@example.com"
CORRECT_NAME="新的作者信息"
CORRECT_EMAIL="新的邮箱@example.com"
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
请替换 "旧的邮箱@example.com"、"新的作者信息" 和 "新的邮箱@example.com" 为你的实际信息。
Step2 强制推送更改到远程仓库
git push --force --tags origin 'refs/heads/*'
这将强制推送更改到远程仓库。请注意,强制推送可能会影响其他人正在共同协作的仓库,因此请确保在进行此操作之前与团队成员进行沟通。
Y 注意事项
- 在进行历史重写之前,请确保已备份你的仓库,以防发生意外。
- 历史重写会改变提交的哈希值,因此如果有其他人在你的提交上进行工作,他们可能需要重新基于你的新提交进行工作。
X 参考文献

本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen/p/18027185
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen/p/18027185
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
2023-02-23 [知识管理] 服务器
2023-02-23 [知识管理] 家庭数据中心