多开提交
多开提交这事儿,多开提交我琢磨了挺久,多开提交最后发现它压根儿不是多开提交技术问题,是多开提交心态问题。 刚工作那会儿,多开提交我特别迷信“一次搞定”。多开提交写代码,多开提交恨不得一个函数解决所有逻辑;提PR,多开提交一个分支里塞了五个功能;连提交信息都写得像诗——结果呢?多开提交代码评审时,同事对着那一坨改动直挠头,多开提交问我“这第三处改动和标题有啥关系?多开提交”我哑口无言。后来学乖了,多开提交开始拆。多开提交一个功能一个提交,多开提交一个bug修复一个提交,多开提交清清楚楚。但拆着拆着,又走偏了——我变成了“提交洁癖”,每次只改一行也要单独提交,一天能提交二十次,仓库历史跟流水账似的,没人愿意翻。 直到有一次,我接手一个老项目,看到前同事的提交记录,才突然开窍。那哥们儿一个提交里,既改了接口,又动了数据库字段,还顺手调了前端样式,提交信息写的是“fix: improve user experience”。我当时心里骂了句“这什么鬼”。可等我逐行看下去,发现这三处改动其实是同一个需求的三层——后端逻辑变了,存储结构得跟着变,前端展示才能配合。分开了反而割裂,合在一起,上下文才完整。那一刻我明白,多开提交不是洪水猛兽,关键得看“多”到什么程度,以及它们之间有没有内在关联。 现在我的习惯变了。遇到一个稍微复杂的任务,我会先花五分钟在草稿纸上画个改动地图——哪些文件是核心逻辑,哪些是连带影响,哪些纯粹是顺手修的小问题。然后按这个地图来组织提交:核心逻辑单独一个提交,连带影响可以并进去,至于顺手修的那种——比如发现某个变量命名不规范——单独拎出来,但绝不和核心改动混在一起。这样做的直接好处是,出问题时能快速revert,不用连累其他无关改动。 但说实话,工具层面的技巧都是次要的。真正让我觉得“多开提交”有意义的,是它倒逼我思考“为什么这么改”。每次准备提交前,我强迫自己写清楚“这事儿解决了什么”,写不出来?那说明我还没想明白,先别提交,回去再想想。这个习惯养成后,我的代码质量肉眼可见地提升——不是因为提交本身,而是因为提交前的思考变多了。 所以你看,多开提交这事儿,本质上是逼着你在动手之前,先把自己的思路捋顺了。它像一面镜子,照出你对问题的理解程度。提交信息写得含糊,多半是理解不透彻;提交拆得乱七八糟,多半是思维本身就没条理。别迷信“一次成型”的神话,也别掉进“过度拆分”的陷阱——找到那个平衡点,你自然就懂了。
- 随机阅读
- 搜索
-
- 友情链接
-