工作區(qū)Working Directory
就是電腦里能看到的目錄

working directory.png
暫存區(qū)Stage
工作區(qū)有一個(gè)隱藏目錄.git,這是git的倉庫Repository
倉庫里有很多東西,其中最重要的是暫存區(qū)Stage(index)
還有自動(dòng)為我們創(chuàng)建的第一個(gè)分支master,以及指向master的指針HEAD
工作流程
- 當(dāng)我們對(duì)文件作出修改時(shí),我們是在工作區(qū)Working Directory進(jìn)行了修改
- 使用
git add的時(shí)候,我們把文件修改添加到了暫存區(qū)Stage, - 使用
git commit的時(shí)候,我們把暫存區(qū)的內(nèi)容提交到了當(dāng)前分支上
撤銷修改
1.撤銷工作區(qū)的修改
現(xiàn)在打開readme.txt,任意修改其內(nèi)容,甚至是刪除掉這個(gè)文件
這些都只是在工作區(qū)上進(jìn)行了修改
撤銷使用
git checkout -- readme.txt
這樣是把暫存區(qū)的readme.txt的版本替換過來
或者使用
git checkout -- .
把暫存區(qū)的所有文件替換過來
2.撤銷暫存區(qū)的修改
當(dāng)使用過git add后,修改被保存到了暫存區(qū)
撤消使用
git reset --hard HEAD readme.txt
這樣是把分支上HEAD指向的commit id的readme.txt的版本替換過來
--hard會(huì)同時(shí)替換暫存區(qū)和工作區(qū),如果不加則只會(huì)替換暫存區(qū)
或者
git reset --hard HEAD
git reset --hard
替換全部文件
3.撤銷分支上的修改
當(dāng)使用過git commit后,修改從暫存區(qū)提交到了分支上
我們可以使用版本回退到上一個(gè)版本
http://www.itdecent.cn/p/ffad1b5b0e1c
即
git reset --hard HEAD^
或者
git reset --hard HEAD~1