news 2026/5/1 8:53:32

已经 Push 到远程的提交,如何修改 Commit 信息?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
已经 Push 到远程的提交,如何修改 Commit 信息?

在 IDEA 中写完了新增各种工具类的代码,完成了 Commit 和 Push,代码已经到了 GitHub远程仓库。

继续写着下一个功能的代码,突然,我发现刚才的Commit Message少写了一个已经完成的功能实现。

此时,我的工作区里已经有正在修改但暂时还不想提交的文件:

于是,我使用了 IDEA 的修正提交功能,补全了信息,重新点击了 Commit:

但是,当我再次点击Push时,出现了如下报错:

error: failed to push some refs to'github.com:xxx/xxx.git'!refs/heads/main:refs/heads/main[rejected](non-fast-forward)hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart.

这个错误说人话就是:推送到远程被拒绝了!并且Git 提示你需要先 Pull。

原因分析

远程仓库保存着修改前的那次提交,我们把它记为 Commit A;

本地仓库在我使用修正功能时,Git 并没有直接修改 Commit A,而是把 Commit A 扔掉了,生成了一个全新的 Commit A’,这个新的commit有着新的 Hash 值,新的备注。

当我点击 Push 时,远程仓库发现现在推送的 Commit A’ 和已有的 Commit A 对不上,为了防止覆盖代码,Git 默认拦截了这次推送。

解决方案

本来我想使用 IDEA 的图形界面,但是,强制推送的按钮居然是灰色的,选不上。

所有,我使用命令行,在 IDEA 下方的Terminal中输入以下命令:

gitpush -f origin main

之后,就推送成功了。

小贴士

  1. 这样操作后,GitHub 上并不会多出一条记录,GitHub 上的记录会原地刷新。旧的提交(也就是少信息的那个)会被彻底删除,取而代之的是修改后的新提交。历史记录看起来非常干净,就像从来没有犯过错一样。
  2. 工作区里那个已修改但没勾选的文件不会受到任何影响,可以在下一次准备好时再提交。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 7:24:20

从LLM到运筹优化:四大AI模型分类与应用场景全解析

本文将人工智能模型分为四大类:大语言模型(LLM)用于文本理解和多模态生成;经典机器学习模型处理表格数据分类预测;经典深度学习模型处理非结构化数据;运筹优化模型解决资源分配和路径规划问题。前三类为数据驱动模型,最…

作者头像 李华
网站建设 2026/5/1 8:23:06

大模型岗位薪资破40万!蚂蚁华为等企业案例+全套104G学习资源包免费领

AI行业虽处低谷,但大模型相关岗位薪资普遍达40万,就业前景看好。文章提供了蚂蚁金服、华为等企业大模型岗位真实薪资案例,并分享全套104G学习资源包,包括七阶段学习路线、100套商业化方案、200本PDF书籍等。建议持续学习和实践&am…

作者头像 李华
网站建设 2026/4/26 20:46:50

图拉科技全球布局加速 深化与整车厂及一级供应商的战略合作

发布 2026 年业务展望、多个项目计划 2027 年正式量产 动力系统效率领域领军企业、动态电机驱动(Dynamic Motor Drive,简称 DMD)技术开发商图拉科技公司今日发布最新业务进展。随着公司加速推进全球商业化进程,其技术在中国及欧洲…

作者头像 李华
网站建设 2026/5/1 4:19:08

Office 之 办公

Word 文档 显示导航条目

作者头像 李华