首页
关于
Search
1
从已存在的巨型本地REPO目录中复制一份原始仓库
4 阅读
2
Typecho Init
2 阅读
默认分类
登录
Search
标签搜索
Typecho
Android
REPO
GIT
Typecho
累计撰写
2
篇文章
累计收到
0
条评论
首页
栏目
默认分类
页面
关于
搜索到
1
篇与
的结果
2026-01-21
从已存在的巨型本地REPO目录中复制一份原始仓库
完全不需要重新从网络下载。对于 Android 庞大的代码库,利用现有的 .repo 目录进行本地引用 (Reference) 或 本地克隆 是最快且最节省空间的方法。这里推荐使用 repo init 的 --reference 参数。这种方法利用你已经下载好的 SDK 中的 .repo 目录作为对象库,速度极快(几分钟内完成),且基本不占用额外的网络带宽。方法:使用 --reference 创建干净副本假设你的当前代码目录(已修改)路径为:~/project/s905y5_dev 你想建立的新备份目录(干净的)路径为:~/project/s905y5_clean请按照以下步骤操作:1. 创建新目录并进入mkdir ~/project/s905y5_clean cd ~/project/s905y5_clean2. 初始化 Repo (关键步骤)使用与你第一次下载时完全相同的 repo init 命令,但要在最后加上 --reference 参数,指向你旧的代码目录。如果需要指定repo,可加参数 --repo-url=~/y5/.repo/repo(如果你使用的是国内服务器):repo init \ -u ssh://git@openlinux.amlogic.com/u-amlogic/platform/manifest.git \ -b u-amlogic \ -m openlinux/ott/u-amlogic-20250115-aosp.xml \ --reference=~/project/s905y5_dev(如果你使用的是海外服务器):repo init \ -u ssh://git@openlinux2.amlogic.com/u-amlogic/platform/manifest.git \ -b u-amlogic \ -m openlinux/ott/u-amlogic-20250115-aosp.xml \ --reference=~/project/s905y5_dev原理解析: --reference 会告诉 repo:“不要去服务器下载 git 对象(objects),直接去 ~/project/s905y5_dev/.repo 里面找。” 只有当本地缺少某些对象时,它才会去联网获取。3. 同步代码repo sync -j8速度: 这步会非常快,因为主要是本地文件的 Check out(检出),而不是网络下载。状态: 检出后的代码是纯净的,完全等同于服务器状态,不包含你在旧目录做的任何未提交的修改 (git status 是干净的)。注意事项 (非常重要)依赖关系: 使用 --reference 后,新目录 (s905y5_clean) 会依赖旧目录 (s905y5_dev) 的 .repo 文件夹。风险: 如果你删除了旧目录 s905y5_dev,新目录可能会坏掉。解除依赖: 如果你希望新目录完全独立(即便删了旧目录也能用),可以在 sync 完成后,执行:# 这会将引用的对象真正拷贝过来,会占用更多磁盘空间,但断开依赖 repo sync --dissociate磁盘空间: 如果不使用 --dissociate,新目录只占用“工作区文件”的大小(约 30-50GB),而不会重复占用巨大的 .repo 对象库(约 100GB+)的空间。这是最省空间的做法。playready错误: 找到.repo/manifests/openlinux/ott/u-amlogic-20250115-aosp.xml,注释掉总结你只需要执行带有 --reference=/你的/旧/SDK/绝对路径 的 repo init 命令,然后 repo sync 即可。这能在几分钟内为你还原一个干净的、和服务器一致的 SDK 环境。
2026年01月21日
4 阅读
0 评论
0 点赞