工作区(Working Directory): learngit文件夹
版本库(Repository):在工作区里面的隐藏目录.git
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
撤销修改:git checkout – file
命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总结:
对于文件 myfile.txt
① 修改后 未add(添加到暂存区) 需要撤销修改时:
git checkout – myfile.txt 或 手动删除工作区修改
工作区 : clean 暂存区: clean
② 修改后 add了(未commit) 再次修改文件 要撤销第二次修改时:
git checkout – myfile.txt (将暂存区恢复到工作区)
暂存区有第一次的修改需要commit
③ 修改后 add了(未commit),需要撤销修改时:
git reset HEAD myfile.txt (将暂存区修改删除)
此时工作区的修改还未撤销
git checkout – myfile.txt (撤销工作区修改)
④ 修改后 add并commit了,需要撤销修改时:
git reset –hard HEAD^ (版本回退)**
删除文件:rm file
删错了,还没确认,恢复文件:git checkout – test.txt