同步操作将从 OpenHarmony/docs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
请按照以下的过程将Repository内的代码下载到您的在计算机上:
创建本地工作目录:
您需要创建本地工作目录,以便于本地代码的查找和管理
mkdir ${your_working_dir}
复制远程仓库到本地
下载码云repo工具(可以参考码云帮助中心:https://gitee.com/help/articles/4316):
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
下载(注意没有repo branch参数):
repo init -u https://gitee.com/openharmony/manifest.git -b master
repo sync -c
拉分支
更新您的本地分支
git remote add origin $remote_link
git fetch origin
git checkout master
git pull --rebase
基于远端master分支拉取本地调试分支
git branch myfeature origin/master
git checkout myfeature
然后在myfeature分支上编辑和修改代码。
在本地工作目录提交变更
git add .
git commit -sm "xxxxxx" // 提交信息包含signoff邮箱
您可能会在前次提交的基础上,继续编辑构建并测试更多内容,可以使用commit --amend继续添加提交。
将变更推送到您的远端目录
准备进行审查(或只是建立工作的异地备份)时,将分支推到您的fork仓库:
git push -f origin myfeature
repo config --global repo.token {TOKEN}
token码在码云个人设置→安全设置→私人令牌中生成,例如
repo config --global repo.token 211XXXXXXXXXXXXXXXXXXXXXXXX
repo start branchname --all
修改代码后在此次修改的多个仓里执行:
git add .
git commit -sm "xxxxxx"
或者通过repo工具批量add/commit,在代码工程根目录下执行:
repo forall -c 'git add .'
repo forall -c 'git commit -sm "xxxxxx"'
配置push代码时是否直接生成PR,选择False是不直接生成,需要手动去fork仓里生成PR,选择True是push到fork仓的同时生成PR:
repo config repo.pullrequest {True/False}
例如选择push代码的时候同时生成PR,则执行:
repo config repo.pullrequest True
push代码:
repo push --br={BRANCH} --d={DEST_BRANCH} --content={PR_CONTENT}
BRANCH为本地分支,DEST_BRANCH为目的分支(即主干分支),一般是master,PR_CONTENT为填写的PR描述,假设涉及多仓耦合提交,这里必须填写Issue编号,例如:
repo push --br="20200903" --d="master" --content="#I1TVV4"
在弹出的编辑页面将需要提交仓、分支、commit的注释符打开:
保存退出,repo会自动将本地分支推送到远端fork仓(如果没有fork仓,系统会自动创建fork仓)里,并自动生成PR:
同时自动将PR和Issue关联:
访问您在码云上的fork仓页面,点击创建Pull Request按钮选择myfeature分支生成PR。
详细操作请参考码云帮助中心的开发协作指导:https://gitee.com/help/articles/4128
须知: 多个代码仓存在编译依赖时如何同时发起构建: OS(操作系统)开发时,经常会遇到多个代码仓的修改具有编译依赖关系,需要同时构建、同时合入。为此码云平台将Issue作为具有编译依赖的多个代码仓提交PR的关联标识。具体操作如下:
- 在此次提交的任意一个代码仓上创建Issue。
- 将多个需要同时构建、同时合入的PR关联上述Issue,具体操作请参考码云帮助中心:https://gitee.com/help/articles/4142。
- 触发构建(详见触发构建的操作帮助)后,构建中心会识别关联了同一Issue的PR,同时下载构建,并在代码审核通过后,同时进行合并入代码库。
创建PR或编辑已有的PR时,描述框输入#+I+五位Issue ID,即可将Issue与PR关联。
约束:
在PR中评论“start build“即可触发CI门禁。
多个PR关联同一个Issue时,在任一PR中评论“start build”均可触发该Issue的CI门禁。
门禁执行完成,会在该Issue关联的所有PR中自动评论门禁执行结果。
如果门禁通过,该Issue关联的所有PR均会自动标记“测试通过”。
详细参考代码门禁质量要求。
OpenHarmony通过持续集成(CI,Continuous Integration)及时发现代码问题,确保代码质量可靠和功能稳定,包括:
CI门户是为了便于开发者及时查看、分析每日构建和代码门禁的执行结果的一个可持续集成的门户。
示例:CI门户入口
请参考码云帮助中心:https://gitee.com/help/articles/4304
相关主题:FAQ
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。