取消当前的git commit操作

一、取消最近一次提交(未推送到远程仓库)

使用 git reset

  1. 保留工作目录、暂存区 (即只取消提交)不变色
git 复制代码
git reset --soft HEAD~1

这会将当前分支回退到上一个提交,但保留所有更改在暂存区。

  1. 保留工作目录 (即取消提交、暂存区)变为红色
git 复制代码
git reset --mixed HEAD~1

这会将当前分支回退到上一个提交,暂存区不会被保留。

  1. 文件不保留 (即取消提交、暂存区、删除文件)文件丢失
git 复制代码
git reset --hard HEAD~1

这会将当前分支回退到上一个提交,并且丢弃工作目录中的所有更改。

二、取消已经推送到远程仓库的提交

如果你已经将提交推送到远程仓库,需要更加小心,因为这可能影响其他开发者。以下是一些常用方法:

  1. 使用 git revert

git revert 会创建一个新的提交,撤销指定的提交。这是一个安全的方式,不会影响提交历史。

git 复制代码
git revert <commit>

这将生成一个新的提交,用于撤销指定的提交。

三、总结

  • 取消本地提交 :使用 git reset(--soft、--mixed、--hard)根据需要保留或丢弃更改。
  • 取消已经推送的提交 :使用 git revert 来创建一个新的撤销提交,或者在确保不会影响其他开发者的情况下使用 git reset 结合 git push --force。
相关推荐
乐之者v2 小时前
Intellij Idea修改Git远程地址
git
北寻北爱5 小时前
面试题-git+npm
vue.js·git·webpack·echarts
EleganceJiaBao5 小时前
【Git】使用 SSH 进行 Git 操作的完整步骤
git·ssh·github·push·clone
ChoSeitaku5 小时前
Git的安装|创建仓库|配置Git|添加文件|修改文件|版本回退|撤销修改|删除文件
大数据·git·elasticsearch
zoujiahui_20187 小时前
git中的连接测试
git
Real-Staok8 小时前
Git 积累 & 常用命令
git·gitee·github
MonkeyKing_sunyuhua10 小时前
Mac 上从 0 到 1 安装 Git + 配置 GitHub SSH + 拉取 private 仓库 的完整步骤
git·macos·github
Wpa.wk19 小时前
Git日志+分支管理+基础冲突解决
经验分享·git·测试工具
香水5只用六神1 天前
【DMA】存储器到外设模式实验2
c语言·git·stm32·单片机·嵌入式硬件·github·visual studio
★浅_忆1 天前
Git入门基础命令
git