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

git撤回commit

最常见的几种撤回方式

目标使用命令是否保留修改
撤回最后一次 commit,但保留代码修改git reset --soft HEAD~1✅ 保留
撤回最后一次 commit,并丢弃修改git reset --hard HEAD~1❌ 丢弃
撤回某个 commit,但保留后续提交git revert <commit-id>✅ 保留历史
删除最近 N 次 commitgit reset --hard HEAD~N❌ 丢弃

常用示例

1. 撤回最近一次提交,保留代码改动

git reset --soft HEAD~1

 回到 git commit 之前,代码还是改过的,可以重新提交。


2. 撤回最近一次提交,并清空代码改动

git reset --hard HEAD~1

⚠️ 不可恢复! 会丢掉本地改动!


3. 撤回一个老的提交(保留后续提交)

git log         # 找到 commit-id
git revert abc123

生成一个“反向提交”来撤回 abc123,但不会影响后续提交,适用于已 push 的提交


❗注意事项

  • reset 适用于本地分支,不要对已 push 到远程的提交用 --hard,会让别人历史错乱

  • revert 安全用于任何场景,推荐撤回远程 commit。


  快速撤销 push 的提交(远程误提交)

git reset --hard HEAD~1
git push origin HEAD --force  # ⚠️ 谨慎使用,确保无人依赖
http://www.xdnf.cn/news/13649.html

相关文章:

  • 力扣-121.买卖股票的最佳时机
  • 计算机系统概述(5)
  • Bandizip 7.38专业版安装教程【超详细】一键安装教程(永久使用)
  • MySQL 基础笔记
  • RNN:从记忆困境到序列建模革命
  • docker-compose和docker下载
  • 如何在docker desktop上安装mysql
  • 20250611让NanoPi NEO core开发板在Ubuntu core16.04系统下开机自启动的时候拉高GPIOG8
  • 缓冲区(C语言缓冲区+内核缓冲区)一个例子解释他们的关系和作用!!!
  • ElasticSearch 操作索引与映射的API
  • Springboot+idea热更新
  • 【全志V821_FoxPi】2-1 首次编译Tina5.0 SDK
  • Redis:set类型和zset类型
  • Google reCAPTCHA实现
  • 在线客服系统:未来商业沟通的关键武器
  • 使用VirtualBox安装ubuntu22.04虚拟机
  • 怎么设置51la统计?新手快速设置悟空统计
  • 大模型笔记_模型微调 vs RAG
  • 23、Python字符串核心机制解析:驻留原理、对象比较与成员检测实战
  • 亮数据抓取浏览器,亚马逊数据采集实战
  • 【电路物联网】SDN架构与工作原理介绍
  • 护照阅读器在景区的应用
  • Vue 数据代理机制实现
  • 什么是数据交换?有哪些数据交换方式?
  • Rust 学习笔记:关于 Future trait 和 Async 语法的练习题
  • el-select滚动分页加载、模糊搜索
  • 代码填空题技术实现:突破 highlight.js 安全限制的工程实践
  • Java Collection接口解析
  • c++算法学习6——迪杰斯特拉算法
  • 用 OpenSSL 库实现 3DES(三重DES)加密