当前位置: 首页 > news >正文

Git 实操:如何使用交互式 Rebase 移除指定提交(真实案例分享)

在日常开发中,有时候我们提交了一些不想保留的记录,比如测试代码、错误的功能提交等。

⚠️ 在操作 4. 强制推送到远程仓库前的注意事项

强制推送(git push --forcegit push -f确实很强大但也危险,因为它会重写远程仓库历史,可能影响他人协作或导致代码丢失。以下是你强制推送前后的关键注意事项:

  1. 确保只有你在改这条分支

    • 如果多人在同一个分支(如 devmain)开发,强推很容易让别人提交丢失。
    • ✅ 建议只对自己的功能分支(如 feature/coupon)强推。
  2. 提前备份当前分支
    万一操作出错,可恢复现场:

    git branch backup/dev
    

本次实操目标:

基于如下提交历史:
提交历史

我们希望:

  • 保留其它三个提交
  • 移除 feat(parseScanCodeQuery): 添加二维码解析函数并更新版本号

操作步骤详解

1. 打开交互式 Rebase 界面

因为要操作最近 4 条提交,所以执行:

git rebase -i HEAD~4

执行后 Git 会打开编辑器,显示类似下面的内容:
git rebase记录


2. 修改提交列表:drop 需要移除的提交

i进入插入模式,找到需要删除的那一行(二维码解析函数那一行),把 pick 改成 drop,像这样:
vim 编辑记录
然后按 Esc,输入 :wq保存并推出,回车。


3. 处理冲突(如果有)

通常删除提交不会有冲突,但如果 Git 报错了,比如有冲突,需要这么处理:

# 先解决冲突
git add .# 然后继续 rebase
git rebase --continue

如果提示 “no changes”,可以直接继续。


4. 强制推送到远程仓库

因为我们改动了历史记录,所以要强制推送

git push origin dev --force

这样远程分支 dev 上的提交记录也会更新成干净的状态!


总结版命令一览

整体流程就是:

git rebase -i HEAD~4
# 把不想要的 commit 改成 drop
# 按 `Esc`,输入 `:wq`保存并退出
# (如有冲突,解决后 git add . && git rebase --continue)
git push origin dev --force

小知识补充

  • pick:保留这个提交
  • drop:移除这个提交
  • reword:修改提交信息
  • edit:修改提交内容
  • squash:把多个提交压成一个
  • fixup:和 squash 类似但丢弃 commit message

交互式 rebase不仅能删除,还能整理提交、修改历史,是 Git 的一项非常重要的技能!


结语

通过这次实操,我们完成了:

  • 使用 git rebase -i 打开提交编辑器
  • drop 指令删除不需要的提交
  • 强制推送更新远程仓库

掌握这套流程后,再也不用担心历史提交杂乱了!🚀
希望这篇博客对你有帮助,欢迎点赞、收藏或分享给有需要的朋友!

相关文章:

  • gradle 下载的tencent的镜像
  • Spark,集群搭建-Standalone
  • 企业战略管理(设计与工程师类)-2-战略规划及管理过程-2-外部环境分析-PESTEL模型实践
  • 从“丈量勘界”到“云端智管”:解码自然资源统一调查监测的智慧密码
  • Linux 下编译BusyBox
  • 《算法笔记》10.5小节——图算法专题->最小生成树 问题 B: Freckles
  • TTL、RS-232 和 RS-485 串行通信电平标准区别解析
  • 如何对多维样本进行KS检验
  • Nerfstudio 环境配置与自有数据集(图片和视频)测试全方位全流程实战【2025最新版!!】
  • Linux 权限管理
  • 【浙江大学DeepSeek公开课】DeepSeek的本地化部署与AI通识教育之未来
  • x86架构-k8s设置openebs的hostpath作为默认存储类的部署记录
  • LeetCode每日一题4.29
  • 省科学技术奖申报答辩PPT设计制作美化
  • 信息检索系统的组成部分和基本架构
  • 4月29日日记
  • jenkins slave节点打包报错Failed to create a temp file on
  • AI国学智慧语录视频,条条视频10W+播放量
  • 数据处理方式 之 对数变换 和Box-Cox变换以及对应逆变换【深度学习】
  • Vue2+Vue3学习笔记
  • 顺利撤离空间站,神十九乘组踏上回家之旅
  • 上海“模速空间”:将形成人工智能“北斗七星”和群星态势
  • 五一假期上海推出首批16条“市民健康路线”,这些健康提示请收好
  • 习近平对辽宁辽阳市白塔区一饭店火灾事故作出重要指示
  • 总有黑眼圈是因为“虚”吗?怎么睡才能改善?
  • 买新房可申领学位,广州南沙出台购房入学政策