Git操作中的一次失误:版本回退

Git操作中的一次失误:版本回退_第1张图片
Paste_Image.png

昨天正值中秋前夕,公司提前放假,公司同学们出去吃饭了,然而我有点事情没有去,结果运营的小伙伴们说要在网站加个活动页,负责网站的小明同学不在,小明同学让我加一下,我一想,这不so easy,满口答应,打开电脑,打开IDE,打开项目,加入两个JSP页面,commit,push,切换主分支,merge,commit,push,jenkins构建,搞定。

但是事情不会像想的这么发展,没有搞清楚他们项目分支结构,结果就悲剧了,我们正常项目结构是这样的:

  • dev:开发分支
  • master:生产分支

在dev分支开发完成在之后,本地运行没问题,就会合并到master分支,然后部署上线,但是小明同学的项目是这样的:

  • Reversion:新版网站
  • master:旧版网站

也是处于改版的现状,所以就这样规定了,结果我把新版代码合并到分支上去了,本来第一步应该是revert操作,把merge的代码操作给撤销掉,当时当时没有意识到这个问题,就直接commit了,这时候就用到了git的时光穿梭机功能了:

  • git reflog:源代码忘了没截图,在网上摘抄
Paste_Image.png
  • 反正就是很多操作提交记录,我们只需要根据提交的信息找到commit id就可以了。
  • 然后执行git reset --hard id
  • 一切都如刚开始一般平静(其实过程远没有这么平静)
Git操作中的一次失误:版本回退_第2张图片
Paste_Image.png

总结

遇到问题一定要冷静下来,仔细分析下自己操作了什么,该怎么做,梳理清楚再开始做,在做程序员之初,我就觉得我写的程序可靠吗,有时候会有一种是否要相信机器的错觉,本来还想写一篇机器是否可靠的文章额,记得当时一个老师的QQ签名是心有猛虎,细嗅蔷薇,我也给自己送四个字:胆大心细!作为以后的一个指导。

你可能感兴趣的:(Git操作中的一次失误:版本回退)