AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码


“只要有足够多的眼睛就可以让所有问题浮出水面。”
【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变成/AliOS-Things,如下图所示。然后根据图中提示的步骤复制仓库地址。
AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片

进入到你想存放代码仓库的目录然后在命令行执行 git clone

# git clone 后面的链接来自你刚刚复制的地址 $ git clone https://gitee.com//AliOS-Things.git

Step4 创建自己的改动 并提交改动到仓库
当你在本地修改完代码并验证之后,你就可以将自己的改动提交
# 进入仓库目录 $ cd AliOS-Things# Commit and push your code $ git add -A#-A表示将本地所有修改文件提交,若只需要提交若干文件,请将-A替换成文件名 $ git commit -s#填写log日志,说明变更的内容,影响功能点等 $ git push#将本地代码push到远端仓库

在gitee网页按下图操作,如果出现你的提交记录,说明push成功
AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片


Step5 创建Pull Request
什么是 Pull Request ? 翻译成中文的意思是“请求拉取”,这两个动词。其实,它完整的解释是“请求 别人 拉取 自己的仓库”,也就是说,我们刚刚已经提交了改动到自己的仓库上,现在我们请求AliOS Things 的管理员去pull(拉取)我们自己的仓库,这样一来,我们的改动就能合入到 AliOS Things 的仓库,从而完成代码提交。
在你自己gitee的AliOS-Things仓库页面上,单击“ Pull requests ”按钮发起“+新建 pull request”. 如下图网页操作,创建一个pull request
AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片

AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片


前往 AliOS Things/AliOS-Things 页面,看到自己的pull request请求,即说明创建成功,等待审核
AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片


当 AliOS Things 仓库管理员验证你提交的代码没问题,就可以完成合入啦!
成功提交代码的贡献者,你的名字也会出现在贡献者表单里哦
AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片

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-ThingsAliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片
https://github.com/alibaba/AliOS-Things
AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片

点赞我们 如果你喜欢这个项目,就请给我们一个小星星吧
AliOS|开源社区第一步 使用 Pull Request 向 git 仓库贡献代码
文章图片

    推荐阅读