取消当前的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。
相关推荐
明月与玄武1 小时前
Jenkins+Docker+Git实现自动化CI/CD
git·docker·jenkins·ci/cd流水线
MrLi01042 小时前
在git中同时配置gitcode和github访问权限
git·github·gitcode
越来越无动于衷2 小时前
Git 团队协作完全指南:从基础到高级应用
git
小怪兽会微笑2 小时前
如何上传github(解决git的时候输入正确的账号密码,但提示认证失败)
git·github
Komorebi_999915 小时前
Git常用指令
git·web
一小池勺17 小时前
🚀 Git 如何让文件存在于远程仓库却不被本地追踪?
git·github
五月高高19 小时前
Idea使用git不提示账号密码登录,而是输入token问题解决
git
魏 无羡19 小时前
idea实现git版本回退的常见场景
java·git·intellij-idea
ergevv1 天前
不同场景下git指令的搭配
git·源代码管理·代码
不了_谢谢1 天前
项目仓库文件太大怎么清理?如何清理git仓库大文件记录?
git