git 删除/回退本地提交

git reset --mixed [提交id]:

此为不带参数执行 git reset 时的默认方式,它会将当前分支(HEAD)指向指定提交

回退了 git commit 和 git add 操作,但本地文件(工作区)保持不动

可以重新暂存提交或直接丢弃更改。


git reset --soft [提交id]:

它也是将当前分支(HEAD)指向指定提交

但只回退了 git commit 操作,不对 git add 回退,即所有修改都还在暂存区(index)

如果还要提交,直接commit即可,如果想要放弃,则需要先从暂存区取消暂存再进行丢弃。


git reset --hard [提交id]:

它是直接将当前分支(HEAD)指向指定提交

暂存区(index)、本地文件(工作区)都会被直接修改,会导致所撤销的修改直接丢失,这个需要谨慎操作!

 

故最安全的是通过 --soft 进行回退,再自行选择性或全部的取消暂存丢弃提交即可。

可以注意,在任何操作后,使用 git status 命令查看当前状态!

参考:https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E7%BD%AE%E6%8F%AD%E5%AF%86#_git_reset

posted @   不是豆豆  阅读(9551)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2017-01-14 [转] 在 Windows 中让任务栏时间显示“秒”
2014-01-14 【转】如何遍历json数据
友情链接:迷途


点击右上角即可分享
微信分享提示