工作區Working Directory
就是電腦里能看到的目錄
working directory.png
暫存區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.lxweimin.com/p/ffad1b5b0e1c
即
git reset --hard HEAD^
或者
git reset --hard HEAD~1