撤销修改

首先我们修改一下ReadMe.txt

码上加油站,一起来加油学习git版本控制~撤销修改

然后操作git status查看一下文件状态:

如何查看java类的git修改记录 git 查看修改的文件_git命令查看修改文件

丢弃工作区的修改:

git checkout -- file可以丢弃工作区的修改:

git checkout -- ReadMe.txt

命令git checkout -- ReadMe.txt说明:

把readme.txt文件在工作区的修改全部撤销,这里有两种情况: 

  • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; 
  • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。 

总之,就是让这个文件回到最近一次git commit或git add时的状态。

暂存区的修改撤销掉(unstage),重新放回工作区:

命令:

git reset HEAD <file>

说明:git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

如何查看java类的git修改记录 git 查看修改的文件_工作区_02

总结:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。 

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。

删除文件

首先添加一个test.txt文件到git并且提交上去:

如何查看java类的git修改记录 git 查看修改的文件_工作区_03

一般情况我们之间在文件夹下删除文件,这个时候,git知道你删除了文件,但是工作区和版本库不一致了,使用git status命令查看:

如何查看java类的git修改记录 git 查看修改的文件_暂存区_04

两种情况:

一:要删除此文件,使用git rm命令,并且commit: 

$ git rm test.txt 
$ git commit -m "remove test.txt"

现在文件就从库中删除了

如何查看java类的git修改记录 git 查看修改的文件_暂存区_05

二:误删了,把误删的文件恢复到最新版本

git checkout -- test.txt

说明:git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

注意:从来没有被添加到版本库就被删除的文件,是无法恢复的!