取消当前的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。
相关推荐
海鸥811 天前
in argocd ‘/tmp/_argocd-repo/../.git/index.lock‘: No space left on
git·argocd
尔嵘1 天前
git操作
大数据·git·elasticsearch
大柏怎么被偷了1 天前
【Git】企业级开发模型
git
Garfield20051 天前
Git 分支拓扑实践
git·拓扑
DKNG1 天前
【Windows Host】 hosts配置增加访问github流畅度
人工智能·git·github
一个很帅的帅哥1 天前
git命令大全
大数据·git·elasticsearch
凯子坚持 c1 天前
Git 远程仓库操作与深度进阶指南
git
勇敢牛牛_1 天前
RustRover 2025.3 在WSL中GIT操作十分缓慢的问题
git·rust·rustrover
编程小白gogogo1 天前
创建git仓库并推送苍穹外卖初始项目
git
cat_milk1 天前
【git】git的基础使用二
git