开源鸿蒙跨平台开发 DAY2:本地工程上传 AtomGit 仓库踩坑 + 可复现验证全记录
DAY2 看似只是 “传代码”,实则藏了很多 Git 和开源仓库的细节坑 —— 从分支对齐、权限认证,到仓库规范、可复现验证,每一步都容易踩雷。把这些坑整理出来,不仅完成了任务,也掌握了开源项目代码提交的核心规范,后续协作开发也能少走弯路~DAY1 已经搞定了开源鸿蒙跨平台开发环境搭建、多终端(模拟器 / 真机 / DAYU200)工程运行验证,DAY2 的核心就一件事 ——之前在学校中上课便建过
欢迎加入开源鸿蒙跨平台社区: https://openharmonycrossplatform.csdn.net
一、前言:为什么 DAY2 必须做到 “规范上传”?
DAY1 完成了鸿蒙跨平台环境搭建、模拟器 / 真机 / DAYU200 开发板的多终端运行验证。但开源项目最核心的要求不是 “能跑”,而是:别人 clone 后能直接运行、无环境依赖、无报错、无路径硬编码、文档完整。
所以 DAY2 核心目标升级为:
把本地工程规范上传到 AtomGit 公开仓库,实现 “拉取即运行” 的开源标准。
二、本地工程与 AtomGit 仓库 “连上”
因为之前上课已经在 AtomGit 建好名为hellogitt的仓库,所以不用新建,直接基于这个仓库上传代码。
操作步骤很简单,打开鸿蒙项目后,在 DevEco Studio 底部的 Terminal 终端里依次执行命令(注意把仓库地址换成自己的):
git init
git remote add origin https://atomgit.com/xxxxxy1220/hellogitt.git
git pull origin main --allow-unrelated-histories
git add .
git commit -m "feat: 完成鸿蒙跨平台项目,支持多设备运行"
git push -u origin main

三、踩坑实录:分支不匹配导致推送失败
1. 报错场景
执行git push后直接报错:src refspec main does not match any。
2. 底层原因
- Git 早期默认分支名为master,但为了避免语义争议,现在主流平台(包括 AtomGit)默认分支名已改为main;
- 本地 Git 若未升级,初始化后仍会使用旧的master分支,导致与远程main分支 “名称不匹配”,Git 无法识别推送目标。

3. 解决 & 验证
- 先把本地的
master分支改名为main,和远程仓库对齐:git branch -m master main - 再重新执行推送命令:
git push -u origin main
✅ 终端输出:branch 'main' set up to track 'origin/main',说明分支关联成功,代码开始上传。
刷新 AtomGit 仓库页面,能看到鸿蒙项目的所有文件都完整上传到hellogitt仓库里了✅。

四、仓库规范:让代码 “拿过来就能用”(强化可视化)
开源项目要求:仓库结构 + README + 忽略文件 + 文档规范 必须完整。
代码传上去只是第一步,为了让别人拉取后能直接运行,我还完善了仓库的 README.md:
在 AtomGit 仓库里编辑 README,写清楚核心信息,比如:
- 工程说明:基于开源鸿蒙跨平台模板创建,DAY1 完成多终端运行验证,DAY2 上传至 AtomGit;
- 环境要求:DevEco Studio 5.0+、OpenHarmony 6.0 SDK(API 20);
- 运行步骤:克隆仓库→DevEco 打开工程→连接设备直接运行;这样新手拿到仓库就能快速上手,不用反复问问题。

1.完善 .gitignore
# 构建产物
/build/
/ohosTest/
# 开发工具
.idea/
.vscode/
# 本地配置
local.properties
*.iml
# 鸿蒙构建产物
build/
entry/build/
hvigor/
2.编写标准 README.md
# 开源鸿蒙跨平台项目 hellogitt
## 工程说明
基于 OpenHarmony 6.0 (API 20) 模板创建,支持多终端运行。
## 环境要求
- DevEco Studio 5.0+
- OpenHarmony SDK 6.0 (API 20)
- 模拟器/真机/DAYU200 开发板
## 运行步骤
1. 克隆仓库
git clone https://atomgit.com/xxxxx/hellogitt.git
2. DevEco Studio 打开工程
3. 连接模拟器/真机
4. 点击 Run,10 秒内启动
## 功能支持
- 模拟器运行
- 真机调试
- DAYU200 开发板运行
- 多终端界面一致
五、可复现验证:从 “上传” 到 “能用” 的关键(新增验证细节)
为确保代码 “拿过来就能用”,执行独立环境验证:
- 关闭当前 DevEco 工程,新建空文件夹;
- 克隆仓库:git clone https://atomgit.com/xxxxxy1220/hellogitt.git;
- 用 DevEco 打开克隆工程 → 无需修改任何配置;
- 连接模拟器 → 点击 “运行” → 应用 10 秒内启动,界面与本地一致(无任何报错)。
结论验证
✅ 仓库完全符合开源项目 “可复现” 标准
✅ 拉取即运行
✅ 零环境依赖
✅ 完全独立于本地开发环境
六、DAY2 总结:从 “传代码” 到 “懂规范”
DAY2 看似是 “上传代码”,实际踩过分支不匹配的坑后,才理解Git 分支对齐、仓库规范(README/.gitignore)、可复现验证是开源项目的基础要求 —— 这些细节不仅让代码更易共享,也是后续团队协作的必备技能。
更多推荐


所有评论(0)