Git系列:git reset HEAD
使用git reset时需要非常小心,特别是使用--hard选项,因为它会丢失未提交的更改。在执行git reset之前,建议先使用git stash保存当前的工作进度,以防万一需要恢复。此外,HEAD后面可以跟上具体的提交哈希值,也可以使用HEAD~表示当前HEAD的上一个提交,或者使用相对数(如HEAD~3表示上上上一个提交)。了解git reset的不同用法对于维护Git仓库的整洁和控制提交
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~
- 专栏导航
- Python面试合集系列:Python面试题合集,剑指大厂
- GO基础学习笔记系列:记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
- 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
- 运维系列:总结好用的命令,高效开发
- 算法与数据结构系列:总结数据结构和算法,不同类型针对性训练,提升编程思维
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
💖The Start💖点点关注,收藏不迷路💖
|
1、概述
在Git中,git reset
命令是一个多功能命令,它可以用来重置当前工作目录的状态,或者重置当前HEAD指向的位置。HEAD
是一个引用,它指向当前分支的最新提交。使用 git reset HEAD
时,你可以选择不同的选项来改变 HEAD
的指向,但不会影响工作目录。
以下是 git reset HEAD
命令的几种常见用法:
不使用参数(默认):
git reset
默认情况下等同于 git reset --mixed
。它将HEAD指向最新的提交,但不会影响工作目录和暂存区(staged changes)。
git reset
使用 --soft
:
使用 --soft
选项时,git reset
会将HEAD指向指定的提交,但不会影响工作目录和暂存区。这意味着你可以使用 git commit --amend
来修改最近一次提交的信息。
git reset --soft HEAD~
这将把HEAD回退到上一个提交,但不会影响工作目录。
使用 --mixed
:
这是默认行为,它会重置HEAD,并且将暂存区(staged changes)更新为HEAD的状态,但工作目录不会被改变。
git reset --mixed HEAD~
这将把HEAD和暂存区回退到上一个提交,但工作目录中的更改仍然保留。
使用 --hard
:
使用 --hard
选项时,git reset
会将HEAD、暂存区以及工作目录都重置到指定的状态。这意味着所有自该提交之后做的更改都将被丢弃。
git reset --hard HEAD~
这将把HEAD、暂存区和工作目录都回退到上一个提交的状态,所有后续的更改都会丢失。
看起来是一样,本质上有区别。即使 HEAD指针指向之前的提交,但是 a3的提交对应的文件快照还git版本中,只不过目前无法直接看到 a3的提交在分支视图中。实际上可以使用 git reflog来查看近期完整的git操作的过程,从中可以找到 a3提交的commit id ,从而可以回到到此版本。
这也说明一旦文件被提交,某个提交时刻的文件状态会永远的被git“记录”。git不会轻易的删除某个文件状态,因为一般删除提交只是删除了指向文件快照的引用,并不是文件数据本身。
总结
使用 git reset
时需要非常小心,特别是使用 --hard
选项,因为它会丢失未提交的更改。在执行 git reset
之前,建议先使用 git stash
保存当前的工作进度,以防万一需要恢复。
此外,HEAD
后面可以跟上具体的提交哈希值,也可以使用 HEAD~
表示当前HEAD的上一个提交,或者使用相对数(如 HEAD~3
表示上上上一个提交)。
了解 git reset
的不同用法对于维护Git仓库的整洁和控制提交历史非常重要。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏、分享下吧,非常感谢!👍 👍 👍
🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
💖The End💖点点关注,收藏不迷路💖
|
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)