从GitCode获取OpenHarmony源代码的完整指南。涵盖repo工具安装、环境配置、manifest下载、代码同步和LFS拉取全流程。当用户需要以下操作时使用:(1) 下载OpenHarmony完整源代码,(2) 配置repo工具和环境变量,(3) 切换特定分支或标签,(4) 解决国内镜像下载问题,(5) 验证代码仓库完整性
Resources
1Install
npx skillscat add volcanochen/get-oh-code Install via the SkillsCat registry.
SKILL.md
获取OpenHarmony源代码
概述
本skill提供从GitCode获取OpenHarmony源代码的完整流程,包括repo工具安装、环境配置、代码下载和验证。
前置条件
- Linux操作系统
- Python 3.6+
- git已安装
- 网络可访问GitCode (gitcode.com)
完整流程
步骤 1: 安装 repo 工具
方法一:手动安装
首先检查 repo 是否已安装:
which repo || command -v repo方法二:自动安装(推荐)
repo 工具支持自动安装,无需手动下载。在执行 repo init 时如果检测到 repo 未安装,会自动提示安装。直接使用下面的初始化命令即可。
步骤2: 配置环境变量
检查repo所在目录是否已在PATH中:
echo $PATH | grep -q "$HOME/bin" && echo "已配置" || echo "未配置"如果未配置,将repo所在目录添加到PATH:
echo 'export PATH=$PATH:~/bin' >> ~/.bashrc
source ~/.bashrc验证安装:
repo --version步骤 3: 初始化 manifest
确定工作目录:
如果用户已指定目标目录,使用用户指定的目录。如果未指定,创建默认目录:
mkdir -p openharmony
cd openharmony推荐:使用国内镜像加速的完整命令
repo init -u https://gitcode.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v4.0-Release -g ohos:standard --no-repo-verify --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo使用芯片平台配置初始化
repo init -u https://gitcode.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v4.0-Release -m chipsets/qemu.xml -g ohos:standard --no-repo-verify --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo参数说明:
-u: manifest 仓库地址-b: 分支或标签,refs/tags/OpenHarmony-v4.0-Release表示 4.0 发布版本-g ohos:standard: 只同步 standard 组代码,减小下载量--no-repo-verify: 不验证 repo 签名--repo-url: 指定 repo 工具的下载镜像(使用清华镜像加速)
分支/标签选择:
| 参数 | 说明 | 示例 |
|---|---|---|
-b refs/tags/OpenHarmony-v4.0-Release |
推荐:4.0 稳定发布版本 | -b refs/tags/OpenHarmony-v4.0-Release |
-b refs/tags/OpenHarmony-v4.1-Release |
较新的 4.1 发布版本 | -b refs/tags/OpenHarmony-v4.1-Release |
-b OpenHarmony-4.0-Release |
4.0 发布分支 | -b OpenHarmony-4.0-Release |
-b master |
主分支(最新开发版本,可能不稳定) | -b master |
步骤 3.5: 了解代码仓分类(可选)
OpenHarmony 为每个代码仓定义了不同的分类,以便支持按类型下载代码:
| 分类 | 分类说明 | group |
|---|---|---|
| 轻量系统仓 | 适用于轻量系统的代码仓 | ohos:mini |
| 小型系统仓 | 适用于小型系统的代码仓 | ohos:small |
| 标准系统仓 | 适用于标准系统的代码仓 | ohos:standard |
| 系统组件仓 | 标准系统中与硬件无关的代码仓,构建产物部署在 /system 目录下 |
ohos:system |
| 芯片组件仓 | 标准系统中与芯片或硬件相关的仓,构建产物部署在 /vendor 或 /chipset 目录下 |
ohos:chipset |
代码下载方式(仅参考):
以下表格列出了各种系统类型的下载方式,实际使用时推荐使用前文提供的完整命令。
| 系统分类 | 下载方式 | 下载命令 | 说明 |
|---|---|---|---|
| 所有系统 | 全量代码 | repo init -u URL -b master |
默认下载 OpenHarmony 的全量代码 |
| 轻量系统 | 全量代码 | repo init -u URL -b master -g ohos:mini |
下载轻量系统全量代码 |
| 轻量系统 | 指定芯片代码 | repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:mini |
下载轻量系统指定芯片的代码 |
| 小型系统 | 全量代码 | repo init -u URL -b master -g ohos:small |
下载小型系统全量代码 |
| 小型系统 | 指定芯片代码 | repo init -u URL -b master -m chipsets/chipsets/chipsetN.xml -g ohos:small |
下载小型系统指定芯片的代码 |
| 标准系统 | 全量代码 | repo init -u URL -b master -g ohos:standard |
下载标准系统的全量代码 |
| 标准系统 | 指定芯片代码 | repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:standard |
下载标准系统指定芯片的代码 |
| 标准系统 | 系统组件代码 | repo init -u URL -b master -g ohos:system |
下载标准系统系统组件的代码 |
| 标准系统 | 芯片组件代码 | repo init -u URL -b master -g ohos:chipset |
下载芯片组件的代码(所有芯片平台) |
| 标准系统 | 指定芯片组件代码 | repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:chipset |
下载指定芯片 chipsetN 的芯片组件代码 |
说明:
-g: 指定 group,只下载该 group 包含的代码仓-m: 指定 manifest 文件,用于下载特定芯片平台的代码- URL 默认为
https://gitcode.com/openharmony/manifest.git或git@gitcode.com:openharmony/manifest.git
平台仓和芯片仓:
- 平台仓:组织在
manifests/ohos/ohos.xml文件中,生命周期较长 - 芯片仓:组织在
manifests/chipsets/目录下,可能随硬件演进而逐渐废弃
步骤4: 同步代码
执行代码同步:
.repo/repo/repo sync -c注意:repo init 后会下载
.repo/repo/repo,后续同步代码时直接使用该路径。
常用参数说明:
-c: 只同步当前分支,节省空间和时间-j N: 使用N个线程并行下载(默认自动检测)--force-sync: 强制同步,覆盖本地修改
拉取LFS大文件:
首先检查git lfs是否已安装:
git lfs version如果未安装,先安装git lfs:
git lfs install然后拉取LFS文件:
.repo/repo/repo forall -c 'git lfs pull'步骤5: 验证下载结果
检查同步状态:
.repo/repo/repo status检查仓库数量和内容:
ls -la
find . -name ".git" -type d | wc -l参考文档
更多参考
- 分支和标签选择: 见 references/branches.md 了解可用分支、标签及切换方法
- 故障排除: 见 references/troubleshooting.md 了解常见问题解决方案