Git的基本流程、git reset 命令行

Git的基本流程以及reset等操作

这一篇博客对git操作的基本流程以及,命令git reset 进行介绍

1.Git的基本流程

Git的流程,一般来说,Git会有三个区域:

  • 工作区 --> 当前状态
  • 暂存区 -->使用git add ,就可以添加到Stage里面
  • 版本库 -->提交历史,使用git commit的结果

Git的基本流程、git reset 命令行_第1张图片

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

Git的基本流程、git reset 命令行_第2张图片

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

当前状态
Git的基本流程、git reset 命令行_第3张图片
commit 回退
Git的基本流程、git reset 命令行_第4张图片
Git的基本流程、git reset 命令行_第5张图片

  • git reset –mixed 可以把版本库上的提交回退到工作区,修改记录保留
  • git reset –hard 可以把版本库上的提交彻底回退,修改的记录全部回滚。

比如当我们reset --hard,增加 hard 参数,你的stage区和工作目录里的内容会被完全重置为和HEAD的新位置相同的内容。即彻底回退,修改的记录全部回滚。

比如,git status:
Git的基本流程、git reset 命令行_第6张图片

git reset --hard HEAD^后再git status
在这里插入图片描述
无任何更改,回撤的很彻底。哭了,之前改的代码也不见了,这个命令记得慎用!!!

你可能感兴趣的:(python,git,github)