| 转载自:海豚调度

| 编辑:钱奕

| 设计:张千禧

| 责编:王玥敏

✎ 编 者 按

最近有一些新加入社区的朋友反馈不太了解 Apache DolphinScheduler 提交 PR 的步骤和规则。这不,人帅心美的严天奇同学就录制了详细的视频教程,手把手教你提交 PR,不会的小伙伴快上车!

视频教程

大家好,这一期将会向大家介绍如何提交PR。

01

什么是 PR

我们在 Wikipedia 中搜索 pull request,页面直接进入了 Distributed version control 词条中。Pull request 是属于 Distributed version control system 的一个操作,wiki 中介绍到 PR 是为开源仓库做贡献的方式,也可以被称作 merge request。贡献者 request 开源项目维护人员来 pull 贡献者提交的代码改动,所以这个动作被称作 pull request。当贡献的代码改动被通过后,维护人员会merge 贡献者的改动到开源项目中。

02

我们可以从哪些方面提交 PR

绝大多数的代码贡献出发点来自 Apache DolphinScheduler,GitHub 的 issue中,其中会包含 Feature,Bug,Improvement,Test 和 Sub-Task 方向的改动。我们可以根据问题的描述,解决 issue 并进行代码贡献。

作为新手,我建议大家从新手任务开始。

打开 issue, 我们可以看到 pinned issues 里的 good first contributor,官方持续为我们提供了入坑的新手任务,一般新手任务会带有 easy to fix 或 good first issue 标签。

我们可以从列表中选择自己感兴趣的问题,作为第一个 PR 的提交内容。

03

提交 PR 需要注意的点

我们打开官方文档中提交者指南里的 Pull Request 须知。

DolphinScheduler 对 PR 的规范,包括了 PR 标题,PR 分支名,Commit Message 规范,以及 Code Style 配置。

下面我们根据官方文档来学习正确的 PR 规范。

首先是 PR 标题。PR 标题是我们提交 PR 时设置的标题,由[PR 类型-ISSUE 号][模块名]和描述组成,模块名填对应的模块即可。

其次是 PR 分支名 是我们在本地 clone 的项目中新建新的 PR 分支。格式是 Pull Request 类型 -Issue 号。

Commit Message 是我们在提交代码时的提交信息,应该包括三个部分:Header,Body 和 Footer。其中,Header 是必需的,Body 和 Footer 可以省略。

Header 部分只有一行,包括三个字段:type(必需)、scope(可选)和 subject(必需)。

格式为[DS-ISSUE 编号][type] 和 subject。

其他 body footer 部分这里就不赘述,大家可以在 Commit Message 须知进行了解。

稍后我们就按照这个例子来写 Commit Message。

Code-style 按照官方进行配置即可,这样可以保证编码的格式,就不赘述了。

最后,DolphinScheduler 官方建议大家尽量把一个 Pull Request 作为任务的最小粒度进行提交。

Type 用于说明 commit 的类别,是类别的缩写,包括feat for feature,fix,docs,style,refactor,test,chore。

Scope 用于说明 commit 影响的范围,比如 Server、Remote 等;

Subject 是 Commit 目的的简短描述,不超过 50 个字符。

Body 部分是对本次 commit 的详细描述,可以分成多行。

当提交代码与上一个版本不兼容或针对某个 issue 则需要 footer。

下面是一个例子。

xxxx

[DS-001][docs-zh] add commit message

  • commit message RIP

  • build some conventions

  • help the commit messages become clean and tidy

  • help developers and release managers better track issues and clarify the optimization in the version iteration

This closes #001

接下来,我来演示如何在  DolphinScheduler 文档中通过纠错单词和错误语法来提交 PR。

比如,如果我们在官网看到关于 DolphinScheduler 的硬件环境中有错误的单词和语法,我们可以自行提交 issue 或者他人发布 issue 来暴露这个问题。

首先,我们找到这个问题的 issue,并留言我们会接管该问题。

接下来分为以下几步:

首先,fork 和 clone 文档项目仓库(因为我们是对官网进行修改,所以需要 fork website 项目,如果需要给 DolphinScheduler 项目提交则换成 DolphinScheduler 项目即可)。接下来是新建分支改动,最后 Push 和提交 PR。

再讲解下详细步骤。首先我们打开 website 的仓库,我们需要在自己的 GitHub 中 fork 官方的 ds-website 项目。

然后我们通过 git clone 克隆 ds-website 项目,如果网络不通的同学可以通过设置 git proxy 来下载。

下载完成之后,我们使用 IDEA 加载项目。这里我已经提前打开了项目。

接着我们新建一个分支,根据前面提到的 PR 分支命名规则设置为 bug-Issue 号, bug-6939。

我们需要找到硬件环境(https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/guide/installation/hardware.html)这篇文章,首先找到对应的版本 2.0.0,再找到 url 中对应的 hardware.html 文件在 /user_doc/guide/installation 文件夹下。

接着我们对错误的单词和语法进行修正。

所有的改动结束之后,我们需要先 commit 这次的改动并根据官方要求填写Commit Message。

再将分支 push 到我们的 GitHub 中。

最后,GitHub 提示我们的改动可以提交 PR,点击 compare & pull request 提交 PR 并按照官方要求描述 PR 标题。

这样,我们的 PR 就提交好了!后续如果有任何改动依然可以对该分支进行提交。

提交 PR 的后续:

  • 社区 Committer 们会做 CodeReview,再与您讨论一些细节(包括设计,实现,性能等)和可能需要更改的部分。当团队对本次修改满意后,会将提交合并到 dev 分支;

  • 最后,恭喜您已经成为了 DolphinScheduler 的官方贡献者。

看到这里,你学会了吗?如果您也想参与贡献,下面有各种问题汇总

不会提交 PR 的小伙伴看过来,超详细的视频教程!相关推荐

  1. 看李俊超老师SEO视频教程 全程笔记

    SEO教程详解 一次偶然的机会发现了百度文库新推出的公开课栏目,并在其中发现了的李俊超老师的SEO视频教程,从中学到了很多知识.并在观看的过程中做了如下笔记: 核心思想及工作流程 1.内容为王,外链为 ...

  2. 计算机进制、内存模块详讲-入门必看(超详细)

    本文旨在让你掌握最基本的计算机进制及内存的知识,相信入门的朋友看完后大有帮助                                           因为部分排版原因电脑观看效果最佳 文中 ...

  3. 装修必看丨超详细省钱装修干货!

    最初装修,大多都会做很多的功课,上网搜.问亲戚朋友,然后根据生活习惯,把能避开的坑基本上都避开.不仅入住后生活很舒适,各方面的预算花费也都省了不少. 为了避免更多的朋友少走弯路,小编抽空整理出一些节省 ...

  4. 微软MS08-067漏洞,小白必看,超详细!!!

    实验环境,攻击机:kali  ip:192.168.1.110             目标机:win   xp   IP:192.168.1.30 1.nmap扫描目标机445端口是否开启:nmap ...

  5. 自动化测试入门基础知识必看(超详细)

    目录 1 初识自动化测试 2 自动化测试和手工测试有什么不同 3 什么是自动化测试 4 自动化测试和手工测试应用范围的对比 5 区别对待不同的测试阶段 6 如何评估测试工具 7 如何选择合适的测试工具 ...

  6. 一文搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力。早日上岸,升职加薪。

    前言 秒杀和高并发是面试的高频考点,也是我们做电商项目必知必会的场景.欢迎大家参与我们的开源项目,提交PR,提高竞争力.早日上岸,升职加薪. 知识点详解 秒杀系统架构图 秒杀流程图 秒杀系统设计 这篇 ...

  7. github怎么隐藏自己的pr记录_在GitHub中向开源框架提交PR的过程

    最近在读RandomX的文档的时候发现一点小错误,现在就记录一下我提交PR的过程. 1.fork 2.需要将远程仓库clone到本地 git clone https://github.com/***/ ...

  8. openEuler 文档捉虫 2.0 上线啦,一键式提交 PR,成为开源贡献者,你也可以参与,文档伴读方案正式开源!

    hi~ 各位小伙伴 openEuler 文档捉虫 1.0 活动自 4 月开展以来,将 openEuler 官网和 Gitee 平台连结,自动创建 issue,解决了之前需要在两个平台之间来回跳转,提交 ...

  9. [Mindspore相关] [VScode]论如何优雅地在gitee中提交pr

    [Mindspore相关] [VScode]论如何优雅地在gitee中提交pr 准备工作 Visual Studio Code安装 Git 下载 gitee注册 整体梳理 Fork远程仓库 本地clo ...

最新文章

  1. 关于mysql内存管理_MYSQL内存管理及优化
  2. vrml场景实例代码_高并发的中断下半部tasklet实例解析
  3. 航海王_html_css3_旋转效果demo
  4. C# win10系统调用不了系统自带的软键盘osk.exe
  5. 自学html和css,学习HTML和CSS的5大理由
  6. vc6 前进后退 番茄_比较圣女果与西红柿中的Vc含量解读
  7. 口红会染唇是什么意思_会涂口红和不会涂口红的女生,区别这么大?!
  8. 【caffe】ubuntu配置python接口----pycaffe
  9. .NET常见错误大全
  10. php防止网站被镜像,网站防止被其他站iframe框架引用镜像的方法
  11. 大一python选择题题库及答案_python选择题库
  12. word公式编号问题
  13. 英文数字验证码识别包
  14. Facebook借足球影响力推广直播:与俱乐部和球星合作分成
  15. javaSE探赜索隐四<数组>
  16. 使用不同的TCP端口架设多个网站
  17. 计算机网络网速,科普 | 宽带的分类及网速计算
  18. 计算机计算公式单组数据求乘法,(excel表格全部数据怎么乘以一个数啊)
  19. 8种网页数据的采集工具
  20. C51---13 DS18B20温度传感器

热门文章

  1. 两个音轨合并_怎么用库乐队合并音轨 合并音轨方法
  2. win10禁用驱动程序强制签名_[教程] 如何永久禁用驱动程序强制签名?
  3. 计算机专利方法终端介质的好处,一种信息处理方法、终端及计算机存储介质专利_专利查询 - 天眼查...
  4. java根据远程URL获取文件类型
  5. 测开面经-搜狗,阿里,滴滴,百度,网易,360,京东,小米
  6. 一文看懂咪头的工作原理及结构(驻极体话筒)
  7. 考研 计算机网络第二章物理层 知识点总结
  8. 我们中心的所有成员!
  9. 计算机在机械制造领域中的应用论文,计算机技术在机械制造领域的应用论文
  10. 考无忧计算机在线题库,考无忧2017职称计算机考试题库PC版