“只要有足够多的眼睛就可以让所有问题浮出水面。”
【AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码】开源社区所倡导的理念正在吸引越来越多的人加入其中,开放、平等、协作、共享的开源模式,能够集众智、采众长,加速软件迭代升级,促进产用协同创新,推动产业生态完善,已成为全球软件技术和产业创新的主导模式。可以说“软件定义未来的世界,开源决定软件的未来”。
那么,如何成为开源社区大佬?如何为自己心动的开源项目贡献代码?
本文就以 AliOS Things 为例,为大家介绍 如何使用 Pull Request 向 git 仓库贡献代码。
除了文字版,也为大家提供了视频教程:
开源大佬第一步 如何提交Pull Request
让我们开始吧!
Step1进入项目主页
AliOS-Things: AliOS Things物联网操作系统,采用弹性内核,支持Python和JavaScript轻应用,主打“易上手”。https://gitee.com/alios-things-admin/AliOS-Things
Step2 Fork仓库到自己的账号下
如果我们需要改动代码,最好的方法是,在自己的账号下有一份一模一样的代码仓库,通过在自己的仓库上进行修改,再将 改动生成的patch 提交给原始仓库。
gitee 为开发者们提供了 Fork 工具。 Fork的名词释义是“叉子”,作不及物动词时意为“分叉;分歧”。那么fork一个仓库,其实也就是创建了一个分叉。所以,下次你想告诉别人你要fork仓库的时候,可以这样说,来显得你非常内行(误):叉一个仓库
Step3 下载fork后的代码到本地(自己的计算机)
进入你刚刚fork出来的AliOS Things仓库,注意,该仓库地址已经从AliOS Things/AliOS-Things变成
文章图片
进入到你想存放代码仓库的目录然后在命令行执行 git clone
# git clone 后面的链接来自你刚刚复制的地址
$ git clone https://gitee.com/
Step4 创建自己的改动 并提交改动到仓库
当你在本地修改完代码并验证之后,你就可以将自己的改动提交
# 进入仓库目录
$ cd AliOS-Things# Commit and push your code
$ git add -A#-A表示将本地所有修改文件提交,若只需要提交若干文件,请将-A替换成文件名
$ git commit -s#填写log日志,说明变更的内容,影响功能点等
$ git push#将本地代码push到远端仓库
在gitee网页按下图操作,如果出现你的提交记录,说明push成功
文章图片
Step5 创建Pull Request
什么是 Pull Request ? 翻译成中文的意思是“请求拉取”,这两个动词。其实,它完整的解释是“请求 别人 拉取 自己的仓库”,也就是说,我们刚刚已经提交了改动到自己的仓库上,现在我们请求AliOS Things 的管理员去pull(拉取)我们自己的仓库,这样一来,我们的改动就能合入到 AliOS Things 的仓库,从而完成代码提交。
在你自己gitee的AliOS-Things仓库页面上,单击“ Pull requests ”按钮发起“+新建 pull request”. 如下图网页操作,创建一个pull request
文章图片
文章图片
前往 AliOS Things/AliOS-Things 页面,看到自己的pull request请求,即说明创建成功,等待审核
文章图片
当 AliOS Things 仓库管理员验证你提交的代码没问题,就可以完成合入啦!
成功提交代码的贡献者,你的名字也会出现在贡献者表单里哦
文章图片
extra 同步代码
在发起 Pull Request 之前,有可能原来的仓库AliOS Things/AliOS-Things有代码更新,那么请按照以下步骤,拉取AliOS Things/AliOS-Things最新的代码至本地。
$ git remote add upstream https://gitee.com/alios-things-admin/AliOS-Things.git
$ git remote -v#此时本地有两个远程地址,origin和upstream,origin对应fork仓库,upstream对应AliOS Things仓库
$ git fetch upstream#将alibaba仓库代码更新到本地
$ git checkout master#切换到master分支
$ git merge upstream/master#合并AliOS Things/AliOS-Things的更新至本地
如果merge过程中,代码有冲突,需要解决所有代码冲突以后,才能提交。
关注我们 如果你想实时了解Alios-Things的动态,请记得点击watch持续关注
我们的地址
Gitee:
AliOS-Things: AliOS Things物联网操作系统,采用弹性内核,支持Python和JavaScript轻应用,主打“易上手”。https://gitee.com/alios-things-admin/AliOS-ThingsGithub:
https://github.com/alibaba/AliOS-Things
文章图片
https://github.com/alibaba/AliOS-Things
文章图片
点赞我们 如果你喜欢这个项目,就请给我们一个小星星吧
文章图片
推荐阅读
- 物联网|HaaS第一本实体书籍 当代物联网开发圣经 现在开始预售
- 物联网|【AliOS Things】首届灭虫活动,找Bug,赢AirPods,智能手表
- HaaS解决方案|绿色节能,怎么用ESP32 + HaaS Python怎么做一个起夜小灯(接上个“智慧路灯”案例中的留下的地下室人体感应亮灭灯)
- 使用工具分享|Altium Designer 14安装教程(详细版)
- java|产品硬件成本分析_硬件项目中的错误成本
- 财经|2亿缺口会是鸿蒙的华容道()
- 版本管理工具|Git使用(Git安装、建立Git仓库、克隆Git仓库、提交代码至Git仓库)
- mac|MAC版本Typora+PiGo+GitHub免费图床搭建整理
- 自动驾驶开源项目 Autoware 基金会成立背景