工作区Working Directory
就是电脑里能看到的目录
暂存区Stage
工作区有一个隐藏目录.git,这是git的仓库Repository
仓库里有很多东西,其中最重要的是暂存区Stage(index)
还有自动为我们创建的第一个分支master,以及指向master的指针HEAD
工作流程
- 当我们对文件作出修改时,我们是在工作区Working Directory进行了修改
- 使用
git add
的时候,我们把文件修改添加到了暂存区Stage, - 使用
git commit
的时候,我们把暂存区的内容提交到了当前分支上
撤销修改
1.撤销工作区的修改
现在打开readme.txt,任意修改其内容,甚至是删除掉这个文件
这些都只是在工作区上进行了修改
撤销使用
git checkout -- readme.txt
这样是把暂存区的readme.txt的版本替换过来
或者使用
git checkout -- .
把暂存区的所有文件替换过来
2.撤销暂存区的修改
当使用过git add
后,修改被保存到了暂存区
撤消使用
git reset --hard HEAD readme.txt
这样是把分支上HEAD指向的commit id的readme.txt的版本替换过来
--hard
会同时替换暂存区和工作区,如果不加则只会替换暂存区
或者
git reset --hard HEAD
git reset --hard
替换全部文件
3.撤销分支上的修改
当使用过git commit
后,修改从暂存区提交到了分支上
我们可以使用版本回退到上一个版本
http://www.jianshu.com/p/ffad1b5b0e1c
即
git reset --hard HEAD^
或者
git reset --hard HEAD~1