开源鸿蒙跨平台开发 DAY2:本地工程上传 AtomGit 仓库踩坑 + 可复现验证全记录
DAY2 看似只是 “传代码”,实则藏了很多 Git 和开源仓库的细节坑 —— 从分支对齐、权限认证,到仓库规范、可复现验证,每一步都容易踩雷。把这些坑整理出来,不仅完成了任务,也掌握了开源项目代码提交的核心规范,后续协作开发也能少走弯路~DAY1 已经搞定了开源鸿蒙跨平台开发环境搭建、多终端(模拟器 / 真机 / DAYU200)工程运行验证,DAY2 的核心就一件事 ——之前在学校中上课便建过
一、DAY2 核心任务回顾
DAY1 已经搞定开源鸿蒙跨平台开发环境搭建,以及模拟器、真机、DAYU200 开发板的多终端工程运行验证,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.md:
在 AtomGit 仓库里编辑 README,写清楚核心信息,比如:
- 工程说明:基于开源鸿蒙跨平台模板创建,DAY1 完成多终端运行验证,DAY2 上传至 AtomGit;
- 环境要求:DevEco Studio 5.0+、OpenHarmony 6.0 SDK(API 20);
- 运行步骤:克隆仓库→DevEco 打开工程→连接设备直接运行;这样新手拿到仓库就能快速上手,不用反复问问题。

五、可复现验证:从 “上传” 到 “能用” 的关键(新增验证细节)
为确保代码 “拿过来就能用”,执行独立环境验证:
- 关闭当前 DevEco 工程,新建空文件夹;
- 克隆仓库:git clone https://atomgit.com/xxxxxy1220/hellogitt.git;
- 用 DevEco 打开克隆工程 → 无需修改任何配置;
- 连接模拟器 → 点击 “运行” → 应用 10 秒内启动,界面与本地一致(无任何报错)。
✅ 验证结论:仓库代码完全独立于本地环境,满足 “一键运行” 的开源标准。
六、DAY2 总结:从 “传代码” 到 “懂规范”
DAY2 看似是 “上传代码”,实际踩过分支不匹配的坑后,才理解Git 分支对齐、仓库规范(README/.gitignore)、可复现验证是开源项目的基础要求 —— 这些细节不仅让代码更易共享,也是后续团队协作的必备技能。
更多推荐


所有评论(0)