场景:Git的版本库与删除,撤销
撤销修改
git checkout -- <文件名>
$git checkout - - 1.txt
说明:将该文件恢复到工作区中,放弃未暂存文件的修改命令!
即把1.txt文件在工作区的修改全部撤销,这里有两种情况:
(1)1.txt自修改后只add到暂存区,但还没有commit到版本库,现在撤销修改就回到和版本库一模一样的状态,即没有add的状态;
(2)1.txt已经add到暂存区又被commit,之后在工作区又作了修改,现在撤销修改就回到添加到暂存区时的状态,即add后的状态。
说明:以版本库作为回退的起点!
$git reset HEAD file--->也可以把暂存区的修改撤销掉,重新放回工作区,即恢复到add之前的状态!
总之:就是让这个文件回到最近一次git commit或git add时的状态
------------------------------------------分割线--------------------------------------------------
删除与撤销删除
在git中我们commit了一个2.txt,现在在工作区中把它删除掉(rm)--->此时git status查看
说明:确实要从版本库中删除该文件,那就用命令$git rm删掉,并且git commit
$ git rm 2.txt
rm '2.txt'
$ git commit -m "remove 2.txt"
[master d28der3] remove 2.txt
1 file changed, 1 deletion(-)
delete mode 100644 2.txt
二,删错了,想还原,不怕,版本库里还有,所以用下面指令可以很轻松地把误删的文件恢复到最新版本:
$ git checkout - - 2.txt
-------------------------------------------------------------------