由于一个让勇哥现在还后怕的操作:
git push -u orign master -f
结果线上的代码莫妙其妙的变成两个月以前的代码! (也可能是其它什么神操作,已经记不起了)
我反复揉了揉眼睛……
没错,就是两个月以前的。
心咯噔一凉!两个月白干了!该如何救场呢?
在网上查了一下,可以试试的指令是reset和revert
首先执行git reflog,它可以查看commit的历史,前提当然是你没问题的那一版是在本地commit过了。
然后使用reset指令回到你想回到的版本。
然后再打开工程,发现代码已经成功恢复到出问题之前的版本了!!
本地代码已经恢复,剩下的就是push到线上了。
经过此惊吓,深刻体会到了另类的git的好处了,这东东并非是简单的不用带U盘、方便多个人同时改代码这类好处。
我爱你, git!
勇哥补充一个经验:
你代码中有halcon的hdev, hdvp之类的程序的童鞋注意了,halcon代码容易被git损坏。(我只是说容易,因为发生过几次)
我猜测可能是因为halcon代码不是文本的原因,所以容易被git损坏,所以请注意上传下载前备份你的halcon代码。
(损坏的现象是用halcon打开程序,提示非法的代码,可能是因为文件头被损毁的原因)
否则不要让眼泪飞哦。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

