前情提要:由于公司只有一个master分支,而且每个月都要出版本。
事情是这样的,现在的这家公司没有什么分支管理,所有项目只有一个master分支,每个月低都要出新版本,不管大小改动都是(这次改动较大9116干了两个多星期了),版本出了后可能会有新的问题,还要回头去改。别说为什么不拉新分支,打tag,别问,问就是你懂个屁。由于已经是九月的第一个星期了,已经开始这月的新功能开发了,但是由于八月底的版本新测出bug,要修复,又很急,菜鸟本人就在本地git branch 了一个新分支,将未add commit的master分支merge过去了,原以为这样当前修改的代码就会在新分支上,然后切回master分支直接git rest --hard,切完之后,想确认一下新分支代码还在不在,就切回到新分支想捞一下,然后、然后、然后人就傻了,这一周的代码全没了,人都傻了。网上找了很多方法,都是说没有add 的没救了,找下家吧。
这里先挖个坑,为什么未add 和commit的代码,在创建新分支的时候显示有,切换会原分支进行git rest --hard 就没了?
这里提醒一下大家,还是要养成一个好的习惯,
没事就git add 一下
没事就git add 一下
没事就git add 一下
不然会很惨的。
还好运气好,因为代码是在本地的pycharm写的,服务器也有一份,可以通过pycharm 的tool-deployment给重新下载回来,不然人就没了。
但是这里还是会出问题,由于上个版本出的问题一定要做修改,假设如果在月中发现,且已经提交部分新功能代码,master分支上会污染上个版本的内容,导致可能会修改出更多的bug。个人认为这种情况一定要打tag,如果改版本出问题,从tag处拉出代码修改,测试完成后,合会主分支,新开发的代码不会影响到某个版本的稳定性,也不用再增加重复的测试。
最后还是要说一句:
没事就git add 一下
没事就git add 一下
没事就git add 一下