工作区、暂存区和版本库
- 工作区:就是电脑中为git创建的目录,比如:我们这里的git_test,就是一个工作区
![]()
- 暂存区:数据暂时存放的区域,可在工作区和版本库之间进行数据的友好交流。
- 版本库:工作区中有一个隐藏目录 .git,它就是git的版本库
- git版本库里面存了很多东西,其中最重要的就是 stage(或者叫index)的暂存区,还有git为我们自动创建的第一个分支master,以及指向master的指针 HEAD
git status
该命令用于查看上次提交之后是否有对文件进行再次修改。
有过修改时:
没有修改时:
撤消修改
git checkout -- filename:撤消工作区的修改,相当于直接删除掉工作区的修改
git reset HEAD filename:将提交到暂存区的修改撤销,返回到工作区
对比文件的不同
git diff HEAD HEAD^ -- filename :用于对比当前版本和上一版本指定文件的不同
git diff HEAD -- filename :用于对比工作区和当前版本指定文件的不同
- git diff后面加两个版本
- -- filename:用于指定对比两个版本中的哪个文件
删除文件
无论是做增加、删除等哪个操作,都是对工作区的改动。所以这里就需要知道的是删除文件也是对工作区的改动,因此其余操作就和其他的类似。
使用rm删除文件
删除bbb.c文件,对应的就会提示删除了文件,但是没有提交到暂存区
将rm做的删除恢复回来:我们发现rm做的文件删除不会同步到暂存区
git rm删除
git rm filename:该命令进行的删除可以直接同步到暂存区
- git rm用于删除一个文件,如果一个文件已经提交到版本库,那么你永远不用担心误删,但是要小心。你只能恢复文件到最新的版本,但是会丢失最近一次提交后你修改的内容