元旦假期,无所事事,只能在家里刷刷b站,打打LOL,回想起这半年工作上的事项,也是挺唏嘘的,996已成常态,好在项目最终验收,至少几个月努力没有白费。
突然想起将近1年多没写文章了,主要是工作行业上有些变动,新的工作涉及一些新的领域 - git代码研发管理,所以在这块上投入了大量的时间进行行业、技术的研究。
废话不多说,直接进入重点。
近半年来,除了负责gitee主线正常的迭代外,还插手交付几家银行类的私有云大客户的事项,当时交付后不少用户频繁遇到此问题,虽然现象千奇百怪,但是无非是错误的操作导致的代码丢失,作为研发人员,应该关注这一类误操作的普及和说明,所以输出一篇文章,作为组内内部分享,让大家都能处理好此类问题。
“这个PR合并之后,我们的这个分支代码就丢失了一部分,你们靠不靠谱啊?!?!??”
“你们gitee怎么搞的!我们代码又莫名其妙丢了!”
“昨天代码提交之后,今天早上就看不到提交了,能帮我查查原因吗?”
“为什么bitbucket能看到冲突的代码,你们gitee看不到呢?”
“这些提交为什么出现在我们的发布分支上了,今晚我们要发版,麻烦查查”
每当收到这些反馈,我都非常紧张,紧张并不是因为Gitee真的有什么问题,而是在想怎么去跟用户去解释,怎么帮用户复现、处理问题。
有些私有云客户已经交付了将近一年,收到的此类反馈数不胜数,但是归根究底,造成这些现象的根源还是在于对Git的不熟悉,分支研发流程不规范,对自己git操作后的结果没有预期。其实这类丢失代码的情况,无外乎以下2种情况:
- 使用 Git 进行推送的时候进行了强推操作
- 不正确的Merge操作造成的文件版本回退