Git的基本流程以及reset等操作
这一篇博客对git操作的基本流程以及,命令git reset 进行介绍
1.Git的基本流程
Git的流程,一般来说,Git会有三个区域:
- 工作区 --> 当前状态
- 暂存区 -->使用git add ,就可以添加到Stage里面
- 版本库 -->提交历史,使用git commit的结果

- 首先,工作区 、 缓存区与版本库里面的內容都是一致的;
- 当文件内容出现改变,此時 工作区 的內容就会跟 缓存区 及 版本库的不一致,而Git知道是哪些文件(Tracked File)被改动过,直接将文件状态设置为 modified (Unstaged files)。
- 修改了之后需要使用git add 后,将这些改变的文件內容加入 缓存区 中,所以此时工作区跟缓存区的內容是一致的,但他们与版本库內容不一致。
- 接着执行 git commit 进行提交,將Git索引中所有改变的文件內容提交至 版本库 中,建立出新的 commit 节点(HEAD)后, 工作区 、 缓存区 与版本库(HEAD)区域的内容 又会保持一致。

- git reset –soft 可以把版本库上的提交回退到暂存区,修改记录保留
当前状态

commit 回退


- git reset –mixed 可以把版本库上的提交回退到工作区,修改记录保留
- git reset –hard 可以把版本库上的提交彻底回退,修改的记录全部回滚。
比如当我们reset --hard,增加 hard 参数,你的stage区和工作目录里的内容会被完全重置为和HEAD的新位置相同的内容。即彻底回退,修改的记录全部回滚。
比如,git status:

git reset --hard HEAD^后再git status

无任何更改,回撤的很彻底。哭了,之前改的代码也不见了,这个命令记得慎用!!!
本文详细介绍了Git的核心流程,包括工作区、暂存区与版本库的关系,以及git reset的不同选项(soft, mixed, hard)在撤销提交和文件状态控制中的作用。特别强调了git reset--hard的危险性。
1076

被折叠的 条评论
为什么被折叠?



