git是一个神器,但是前提是要会用它,今天的惨痛经历告诉了我这一点
我是使用 Webstorm 来写代码的,在每次新建一个文件的时候它都会问我要不要把这个文件添加至 git ,还可以默认设置,我当然选择默认了呀,那时我的理解是: 在后面我每次保存文件的时候 Webstorm 都会自动帮我 ‘git add’ ,然而我错了……
当任务完成告一段落之后我没有 git add
,也没有git status
,就直接自信地 commit 了。
又写了一阵,出现了一些奇怪的错误,我想说还是退回上次 commit 吧,直接 git reset --hard HEAD
,结果是:
我新建的文件都还在,但是内容全空了
那可是我今天半个上午加昨天一天敲的代码呀…….
然后我想是不是我 reset 的姿势不对,接着就是一阵猛烈的 git reflog
+ git reset --hard ...
的循环,但是依然无果
这货 git reset --hard HEAD
的作用之一是:将工作目录中所有未提交的内容清空
也就是说自从文件创建以后我写的所有内容都没有 add 过……..
经过一些分析加实验,得出以下结论
谨以此文纪念我逝去的代码 T_T