不在主仓库里改的好处是什么?

📅 2026/7/17 17:05:31
不在主仓库里改的好处是什么?
在 AS_Only 里改、而不是直接在主仓 里改主要好处有这些1. Android Studio 不会卡死主仓 AS_Only体量几百 G文件极多只有 FactoryTest几 MB几十 MBAS 索引极慢WindowsSamba 更慢秒开Diff/Merge 流畅Git 扫描变更检测、log 都慢只关心 FactoryTest主仓适合 SSH 编译AS 专用工作区适合 可视化改代码、合并。2. 不容易误提交无关东西主仓里常有apk/、merged/ 等未跟踪目录编译产物、临时脚本同事改过的其它模块在主仓改容易 git add 错文件、或 Commit 列表里混进一堆无关项你之前就遇到过。AS_Only 里物理上只有 FactoryTestCommit 列表干净只看到自己改的。3. 和编译主流程隔离主仓 完整源码lunch、make、刷机AS_OnlyGit 工作副本专门给 AS在 AS 工作区改坏了、merge 乱了可以 git reset --hard 重来不影响主仓正在编译的状态。你之前在主仓 staged 两个 strings.xml直接 pull --rebase 都拉不了——这就是在主仓乱改的典型代价。4. 职责清晰和同事协作更清楚同事 / CI / Gerrit → 完整仓库你AS 改 FactoryTest→ AS_Only → commit → push编译验证 → 回到 主仓 pull 最新改完在 AS_Only commit需要编 ROM 时在 主仓 pull 同步不会把 AS 的 .idea/、Samba 换行符改动带进主仓5. Samba 副作用更小Windows 通过 Samba 访问时容易出现换行符 CRLF/LF 变化 → 根目录 BUILD、item*.sh 假修改文件权限变化 → Git 认为 modified稀疏工作区根本看不到这些文件就不会误提交、也不会拦 pull。6. 心理和操作成本更低在主仓每次 Commit 都要核对「这 16 个文件是不是只要 FactoryTest」。在 AS_Only改了什么列表里就是什么只勾 strings.xml 即可。什么时候必须在主仓改要改 FactoryTest 以外 的模块Framework、驱动等改完要 立刻全编不想多一步 sync不用 AS纯 SSH vim只动 FactoryTest、且用 AS → AS_Only 更合适。一句话主仓 完整系统 编译AS 工作区 轻量 Git 视图 只改 FactoryTest。分开后AS 快、Commit 干净、pull 不容易被无关改动卡住主仓保持稳定可编。