git checkout -- file 可以丢弃工作区的修改
今天你的老板突然说要使用svn来代替git,你的心中顿时燃烧起一团烈火,你情不自禁的在readme.txt中添加了一行
My stupid boss still prefer svn
突然你老婆的一条温柔的慰问短信让你意识到你不能丢了这份工作,于是你可以使用该命令来保住你的饭碗
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
git reset HEAD file 丢掉暂存区中的修改
假如你已经连续工作了十几个小时,觉得再不歇一会就可以死了,但是你老板却在催促着你,你狠狠的在readme.txt中加了一行
My boss is so damn
但是你真的敢这样做吗?别傻了,快使用该命令把暂存区的修改退回到工作区吧