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

git 操作 已经 commit 但是没有 push 怎么办

前言:

在操作commit后发现提交错了分支,直接切换分支是不行的,只能先取消commit的代码才能切换分支,因此记录一下git的操作

如果你已经执行了 git commit 但还没有进行 git push,可以通过以下几种方式撤回或修改提交。以下是具体操作步骤:

1. 撤销最后一次提交,但保留更改


如果你想撤销最后一次提交,但保留工作区的更改以便重新提交,可以使用 soft 模式。

git reset --soft HEAD~1

适用场景:撤销提交,但保留更改内容,方便重新提交。
效果:提交被撤销,更改保留在工作区。

2. 撤销最后一次提交,并丢弃更改


如果你想彻底撤销最后一次提交,并丢弃所有更改,可以使用 hard 模式。

git reset --hard HEAD~1

3.撤销多次提交


如果你想撤销多次提交,可以指定要回退的 commit 数量。

# 撤销最近 2 次提交,保留更改
git reset --soft HEAD~2# 撤销最近 2 次提交,丢弃更改
git reset --hard HEAD~2

适用场景:需要撤销多个提交。

4. 使用 reflog 恢复误操作

如果你误操作了 reset,可以通过 reflog 找到之前的 commit 并恢复。

# 查看操作历史
git reflog# 恢复到某个 commit
git reset --hard <commit-hash>

适用场景:误操作后需要恢复。

http://www.lryc.cn/news/539620.html

相关文章:

  • 在 macOS 的 ARM 架构上按住 Command (⌘) + Shift + .(点)。这将暂时显示隐藏文件和文件夹。
  • 【核心算法篇二十】《DeepSeek符号回归:让AI化身「数学神探」破解数据背后的宇宙公式》
  • 如何在 Visual Studio Code 中使用 DeepSeek R1 和 Cline?
  • PHP旅游门票预订系统小程序源码
  • 在项目中调用本地Deepseek(接入本地Deepseek)
  • notepad++右键菜单不见了
  • 如何用ollama快速布署deepseek-r1大模型
  • python-leetcode 36.二叉树的最大深度
  • MySQL事务的特性和隔离级别
  • Oracle视图(基本使用)
  • C++ Primer 类的作用域
  • 【学习笔记】Cadence电子设计全流程(二)原理图库的创建与设计(上)
  • 学习数据结构(11)二叉树(堆)下
  • HarmonyOS NEXT网络状态监听HTTP和RCP请求网络
  • MySQL数据库(4)—— 数据类型
  • 如何在Odoo 18中创建记录规则Rule
  • petalinux高版本设置自动登录和开机自启动配置
  • 操作系统2.4
  • Springboot + Ollama + IDEA + DeepSeek 搭建本地deepseek简单调用示例
  • 解析DrugBank数据库数据|Python
  • CUDA Toolkit 历史版本 cuda安装
  • Aseprite详细使用教程(12)——轮廓工具和多边形工具
  • macos sequoia 禁用 ctrl+enter 打开鼠标右键菜单功能
  • 分布式架构与XXL-JOB
  • leetcode day18 移除元素 26+283
  • 【HarmonyOS Next】鸿蒙监听手机按键
  • 用Deepseek查询快证API-物流查询-实名认证-企业实名认证
  • 一个简洁高效的Flask用户管理示例
  • 分布式之分布式ID
  • (萌新入门)如何从起步阶段开始学习STM32 —— 0.碎碎念