1.理解 工作区 暂存区 版本库 master分支 概念
工作区(Working Directory)为可见文件
版本库分(Repository)为暂存区(stage)和分支(默认为master),HEAD为指向master的指针
工作区 add 后进入暂存区,经commit后进入master。
2.撤销修改
$ git checkout -- file
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
小结:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。
3.删除文件
工作区中删除文件
$ rm file
版本库中删除文件
$ git rm test.txt
确认删除
$ git commit -m "remove file"
4.误删文件恢复
参考本页2.
工作区中删除文件
$ rm file
恢复文件
$ git checkout -- test.txt
网友评论