取消当前的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。
相关推荐
Snooker_1463 小时前
TRAE、VSCode上进行git管理
ide·git·vscode
zincsweet5 小时前
Git开发工具教程
git
yuyuyui5 小时前
Git实战覆盖98%日常开发场景
git
Eloudy8 小时前
git clone --mirror 同步桥
大数据·git
cxwl3sxl8 小时前
重装系统后GIT仓库修复
git
OYangxf8 小时前
Git速查命令
大数据·git·elasticsearch
OYangxf8 小时前
Git Common Errors
大数据·git·elasticsearch
Mike_6669 小时前
git@gitlab-rdc.xxxxx.com: Permission denied (publickey).fatal: 无法读取远程仓库。
git·elasticsearch·gitlab
zh路西法9 小时前
【git一键push脚本】基于Windows bat脚本的一键git提交脚本
windows·git·elasticsearch
phltxy9 小时前
Redis 持久化机制
java·redis·git