重新修改未提交到远程分支不是最后一次commit的内容

1. 使用rebase进入交互式重写模式

shell 复制代码
git rebase -i HEAD~2
  • HEAD~2表示最后2次提示
  • 打开一个编辑窗口,显示最近的两个提交(按时间顺序从上到下)

2. 选择编辑模式

在编辑容器,会看到类似的以下内容

shell 复制代码
pick abc123 倒数第二次提交信息
pick def456 最后一次提交信息

将倒数第二次提交的pick修改为edit

shell 复制代码
edit abc123 倒数第二次提交信息
pick def456 最后一次提交信息

然后保存退出 wq

3. 进入到修改提交状态

Git会暂停重写历史并让你进入倒数第二次提交的状态。在此时,可以对该提交的内容进行更改。

    1. 修改代码文件
    1. 添加修改到暂存区
    1. 使用git commit --amend修改倒数第二次提交。这时进入提交信息编辑界面,允许修改提交内容和提交信息。

继续完成rebase

完成后,继续

shell 复制代码
git rebase --continue

有冲突会提示,继续git rebase --continue直到完成。

注意

如果已提交到远程,再次推送时,要强制推送。

相关推荐
kyriewen7 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
A_Lonely_Cat3 天前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
和你看星星4 天前
Git rerere:让重复冲突只解决一次
git
嘻嘻仙人8 天前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
Patrick_Wilson8 天前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
沉浸学习的匿名网友8 天前
什么是 .gitignore?为什么每个 Git 项目几乎都离不开它?
前端·git
深海鱼在掘金9 天前
Git 完全指南 —— 第3章:理解工作区、暂存区、版本库三个核心
git
江华森9 天前
Git 基础筑基:从原理到团队协作的全栈实战
git
JakeJiang9 天前
Git 必备命令指南:从日常高频到项目开发实战
git
叫我少年10 天前
Windows 中安装 git
git