volcanochen

get-oh-code

从GitCode获取OpenHarmony源代码的完整指南。涵盖repo工具安装、环境配置、manifest下载、代码同步和LFS拉取全流程。当用户需要以下操作时使用:(1) 下载OpenHarmony完整源代码,(2) 配置repo工具和环境变量,(3) 切换特定分支或标签,(4) 解决国内镜像下载问题,(5) 验证代码仓库完整性

volcanochen 1 Updated 1mo ago

Resources

1
GitHub

Install

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.gitgit@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

参考文档

更多参考