撤销提交
2024/3/4 23:02:18
本文主要是介绍撤销提交,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用方法
该指令可以用于撤销提交、重置暂存区或工作区。
git reset
执行 git log,列出所有提交记录:
$ git checkout main $ git log commit ff3490694a2168a94abc0188fe35cdd102d3c7fc (HEAD -> main, origin/main) Author: zhanglianwei <zhanglianwei@meituan.com> Date: Wed Feb 21 16:09:29 2024 +0800 第二次修改iss53 commit b0a67cb1bbd16e8a812516dad50b129961f483f7 Author: zhanglianwei <zhanglianwei@meituan.com> Date: Wed Feb 21 16:02:42 2024 +0800 修改iss52 commit 9f5bfba20b0448961111fe1cc621187b461284c4 Author: zhanglianwei <zhanglianwei@meituan.com> Date: Wed Feb 21 16:00:55 2024 +0800 修改hotfix commit ca5ebf0f7e0438c514b9039594e86b6bc1ef64e2 Author: zhanglianwei <zhanglianwei@meituan.com> Date: Tue Jan 30 16:24:42 2024 +0800 :
根据不同的参数,git reset
可以实现不同的功能。
移动 HEAD( --soft )
$ git reset --soft HEAD^ # 也可以使用哈希值 git reset --soft b0a67cb
执行该指令之后,GIT 移动 HEAD 指向 main 分支最后一次提交(哈希值 ff34906)的父提交(哈希值 b0a67cb),相当于撤销最后的提交并将最后提交的修改内容保留在暂存区。
并且,该指令不会覆盖暂存区和工作区。
Sourcetree 截图显示,本地 main 分支已经回退一个版本,而 Uncommitted changes 表明,暂存区或工作区存在未提交的更改。
最后,通过 git push -f
强制更新服务器的提交记录即可。
覆盖暂存区和工作区(–hard)
$ git reset --hard HEAD^ # 也可以使用哈希值 git reset --hard b0a67cb HEAD is now at b0a67cb 修改iss52
--hard
标记会移动 HEAD 指向 main 分支最后一次提交的父提交,并且强制覆盖暂存区和工作区的文件,无法恢复。
也就是说,该指令会撤销最后的提交,暂存区和工作区中的所有工作也会被销毁。
这篇关于撤销提交的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?