mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1774 字
5 分钟
2026年07月03日 | 当你同时维护三个项目:多仓库管理的偷懒技巧
2026-07-03

当你同时维护三个项目:多仓库管理的偷懒技巧#

《当你同时维护三个项目:多仓库管理的偷懒技巧》

本宫知道,你们这些给皇上办差的,一个个手底下都不止一个项目。这边厢给皇上修着“御膳房管理系统”,那边厢又接了“后宫花名册小程序”,转头还得管着个“奏折格式检查工具”。三个仓库,来回切换,改个通用函数得复制粘贴三遍,合并冲突合到眼冒金星。你们是不是觉得自己特勤快,特伟大?蠢死了。这不叫勤快,这叫没头脑。今天本宫就教你们怎么偷懒,怎么把力气使在刀刃上,别整天在那感动自己。

一、先别急着建“共享中心”,那是个巨坑

本宫猜,你们第一个冒出来的念头是不是:“我把三个项目的公共代码,都抽出来放一个新仓库里,然后三个项目都引用它,这多整齐!”打住!本宫掐指一算,你接下来就会遇到版本地狱:项目A要用公共库的1.0版,项目B死活要升到1.1,项目C还在用0.9。然后呢?你改一行公共代码,得发布三个版本,然后挨个项目去改依赖、测试、祈祷线上别崩。恭喜你,你不是在偷懒,你是在给自己制造三个新的、更难伺候的爹。

二、Git Submodules:爱恨交织的备胎

真正的好办法,得从Git本身找。很多人听说过git submodule,但本宫一看你们用的样子就想笑——要么是加了就再也不管,子模块版本停留在上古;要么是每次拉取主仓库都忘加--recursive,然后抓耳挠腮问“为什么文件是空的”。记住本宫的口诀:Submodule是把双刃剑,用好是管家,用不好是管家请来的债主。 正确用法是:你心里得清楚,哪些代码是“真·稳定且几乎不改”的工具函数,才适合做成子模块。加的时候,明确指定一个固定commit(git submodule add <url> <path>),别图省事用默认的。之后每次主仓库要更新子模块,你得明确地进去做(git submodule update --remote),然后在主仓库提交这个指向新commit的变更。忘了最后一步?那就等着你的队友在另一台电脑上拉出一堆旧代码,然后骂你祖宗十八代吧。

三、嫌Submodule麻烦?试试Git Subtree,更“直肠子”

如果子模块的“独立仓库”感觉太绕,本宫推荐另一个本宫更喜欢的玩意儿:git subtree。它不像submodule那样只是个“链接”,而是真真切切地把另一个仓库的代码,合并到你主仓库的一个文件夹里。你完全可以像修改自己本地代码一样去修改它,甚至推送回去。流程嘛,稍微记一下:git subtree add --prefix=公共工具库 <公共库的远程地址> <分支名> --squash--squash是把公共库的历史压缩成一个提交,保持你主仓库历史干净。想更新?git subtree pull。想把自己改的推回公共库?git subtree push。虽然命令长了点,但它把一切都藏在你熟悉的Git操作里,不用操心那个.gitmodules文件。适合那些觉得Submodule别扭,又确实想把代码物理放一块儿的懒人。 但本宫提醒你,合并冲突该来还是会来,别以为用了什么神仙工具就能高枕无忧。

四、终极偷懒大法:Monorepo,但你要镇得住场子

要是你的项目之间共享代码多到离谱,天天改天天同步,那别分什么三个仓库了,合成一个!这就是Monorepo(单体仓库)。用一个大仓库,把三个项目(现在该叫“模块”或“应用”了)全扔进去。改个通用组件?直接改,所有应用立刻生效,爽不爽?但本宫先给你泼盆冷水:你镇得住这个场子吗?仓库体积会不会爆炸?构建速度会不会慢到让你去泡三杯茶?不同应用的构建、测试、部署流水线怎么隔离?你要是没这些本事,只是图个方便,那还是老实用Subtree吧,别回头哭着跟皇上说项目都崩了。

五、本宫的私藏小技巧(不传外人)

  1. 别在公共代码里瞎写业务逻辑。什么叫公共?就是和“御膳房”、“花名册”都没关系,纯粹是处理日期、加密、日志的工具函数。带业务的一改就牵一发动全身,你偷的懒会加倍还回来。
  2. 用工具强制统一代码风格。三个项目的代码风格天差地别?装上ESLint、Prettier之类的,写个共享的配置文件放公共区域。不然你每次合并代码,光是调整缩进和换行就能把你烦死。
  3. 写个“一键同步”脚本。如果你真用了Submodule或Subtree,把那些冗长的命令写进一个shell脚本里,命名为sync-commons.sh。以后每次就是一键执行,看起来专业,其实心里在偷笑。
  4. 文档,文档,文档! 至少在每个共享代码的根目录下,用README说清楚:这是干嘛的、版本号是多少、其他项目怎么引用、改了要注意什么。不然三个月后,连你自己都会怀疑这是哪个野路子塞进来的代码。

六、最后骂醒你

偷懒,是门技术活。不是让你把活儿推给别人,或者闭着眼睛瞎搞。真正的偷懒,是提前规划、选择合适的工具、建立稳定的流程,然后把重复劳动交给机器和规则。你手动复制粘贴十遍代码的时候,本宫在敲脚本;你手动解决十个冲突的时候,本宫在喝茶。

行了,本宫乏了。你们自个儿琢磨去吧,记住,别再干那种在三个项目文件夹里开三个VSCode窗口,然后靠肉眼找代码的蠢事了。丢人。

(本宫去给皇上试新到的点心了,你们好自为之。)

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

2026年07月03日 | 当你同时维护三个项目:多仓库管理的偷懒技巧
https://www.yunio.cn/posts/2026-07-03-当你同时维护三个项目多仓库管理的偷懒技巧/
作者
媚娘
发布于
2026-07-03
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录