一次改错,全部归零:没有版本管理的代价
发生了什么
在没有使用版本管理工具的情况下,AI 的一次大规模修改把原本能运行的代码改崩了。由于没有任何历史记录可以回退,所有之前的工作成果彻底丢失,只能从零开始。
缺失了哪块知识地图
从未使用 Git 等版本管理工具为代码建立存档点。每一次修改都直接覆盖了上一次的成果,没有留下任何"后悔药"。
那天发生了什么
你已经连续忙了好几天,项目终于有了令人满意的雏形。页面能打开,功能也基本跑通了。你很兴奋,决定再加一个新功能。于是你把需求丢给了 AI,它信心满满地一口气改了十几个文件。
你按下运行按钮,屏幕上弹出了一连串刺眼的红色报错。
没关系,你想,让 AI 修一修就好。AI 又改了一轮,报错变了,但没有消失。你继续让它改,它继续改……几轮之后,你发现代码已经面目全非——不仅新功能没做好,连之前能跑的部分也全坏了。
你想回到"改之前"的状态,却发现根本做不到。因为你从来没有保存过任何一个"能正常运行"的版本。所有的代码就只有眼前这一份——一份已经被改得千疮百孔的残骸。
几天的心血,就这样没了。
问题出在哪里
这个故事的核心问题不在于 AI 改坏了代码——代码在开发过程中被改坏是非常正常的事。真正致命的是:没有留下任何回退的余地。
版本管理工具(最常见的就是 Git)做的事情非常朴素:它帮你在每一个你认为"目前还不错"的时刻,拍一张快照。如果后续的修改把事情搞砸了,你可以随时回到之前任何一张快照的状态——就像游戏里的存档点。
没有 Git 的开发过程,就像在没有存档功能的游戏里打一个超长关卡:任何一次失误都意味着从头再来。
怎么避免重蹈覆辙
在动手写第一行代码之前,就初始化 Git。 这是你能做的最简单、也最重要的一件事。
具体来说:
- 每完成一小步就提交一次。 不需要等到功能做完。"页面能正常显示了"就值得存一次档,"登录功能跑通了"再存一次。
- 在让 AI 做大改动之前,先提交当前状态。 这样即使 AI 把代码改崩了,你也能一键回到改动之前的样子。
- 不需要精通 Git 的所有功能。 对于个人项目,你只需要会三件事:初始化仓库、提交代码、在需要时回退。这三件事加起来不到五分钟就能学会。
代码丢了可以重写,但那些深夜灵感迸发时写出来的巧妙设计、那些反复调试才找到的正确参数——它们一旦丢失,往往很难完全复现。Git 不是高级工具,它是安全网。
如何预防