前言:Git作为一个版本管理工具,最核心组成思想是它的三个分区:工作区、暂存区和工作区。
1. 工作区
Git的工作区也就是我们平时编辑代码的目录文件夹。
2. 暂存区
暂存区就是一个暂时放置修改文件记录的地方。以往仓库中放货物为例,向仓库中放货物总是一车车的拉,因为如果货物一件件的拉,当想回到之前某个状态时,需要把货物一件件往外撤,当数量很大时会加大管理难度。如果把货物一车车拉货拉进仓库,那么若想回到之前某个状态,只需要拿走几车货就好,减少了操作管理难度。
所以暂存区的作用是将要多个文件的多处修改暂时存储,最后将这些修改作为一个版本提交。
3. 版本区
版本区可以看作是一个仓库,每次将暂存区中打包好后修改的东西送到仓库中,是各种修改的版本信息最后存储的地方。
4. 三个区的切换命令
4.1 工作区 => 暂存区 —— git add
git add
可将多个文件添加到暂存区。
$ git add readme.md Test1.py
4.2 暂存区 => 版本区 —— git commit
git commit
将暂存区当中的所有文件一次性提交到版本区,-m
参数后跟着每次提交说明,对哪些地方进行修改的简述。
$ git commit -m "commit the last Version"
4.3 版本区 => 暂存区 —— git reset --mixed
git reset
命令--mixed
跟着版本号,是指把该版本号提交的内容从版本区位置回滚到暂存区。
$ git reset --mixed d5d43ff
4.4 暂存区 => 工作区 —— git reset --soft
git reset
命令--soft
跟着版本号,是指把该版本号提交的内容从暂存区位置回滚到工作区。
$ git reset --soft d5d43ff
4.5 版本区 => 暂存区 => 工作区 —— git reset --hard
git reset
命令--hard
跟着版本号,是指把该版本号提交的内容从版本区位置回滚到工作区。
$ git reset --hard d5d43ff