暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何飞速成为开源贡献者(Contributor)

一臻数据 2023-11-11
207

  导读   本文主要基于Apache Doris分享如何飞速成为开源贡献者(Contributor)。

全文目录:

  1. 环境信息

  2. Git 说明

  3. 开源项目选定

  4. GitHub 参与开源流程



环境信息

1. 硬件信息

  • 型号:Macbook Pro

  • 内存:16GB

  • 硬盘:512GB SSD

  • 处理器:M2

  • CPU架构:ARM

2. 软件信息

  • Git版本:2.39.2 (Apple Git-143)

  • Java版本:17

  • Maven版本:3.8.8

Git 说明

1. Git介绍

Git 是一个分布式版本控制系统,用于管理和跟踪文件的变化。它可以帮助开发人员或团队追踪代码的修改历史、协同开发、管理各个版本的代码,并提供了回滚、分支管理、合并等功能。

使用 Git,开发人员可以在不同的分支上独立工作,然后将各自的修改合并到主分支上,以便保持代码的整洁和可维护性。Git 是开源的,易于安装和使用,因此被广泛应用于软件开发和其他版本控制的场景中。

2. Git下载安装

直接参考Git官方指引:https://git-scm.com/

开源项目选定

乙真仙人选定的是 Apache Doris

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。

基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

GitHub 参与开源流程

1. Fork 项目

在GitHub中,“fork” 指的是将别人的代码库复制到自己的账户下,并在独立的分支上进行修改和扩展的行为。

当你在GitHub上找到一个你感兴趣的项目,并希望对其做出改进、贡献或者使用它作为自己项目的基础时,你可以选择将该项目进行fork。这将在你的GitHub账户下创建一个原项目的副本,包含了所有的代码、历史记录和分支。

在你进行分叉后,你便可以在自己的项目副本上自由地进行修改和实验,而不会影响原项目的稳定性和功能。你可以添加新的特性、修复问题、优化代码,或者根据自己的需求进行个性化定制。

fork之后,你可以将你的修改提交回原项目,这就是所谓的"pull request"(合并请求)。原项目的维护者将会审核你的更改,并决定是否接受你的修改并将其合并到原项目中。

通过这种方式,fork功能为开源社区提供了一种协作的方式,使得项目能够从众多贡献者的力量中受益。

① 点击Fork

② 创建Fork

③ 查看Fork

2. SSH 配置

(1)为什么要配置SSH
git clone支持https和git(即ssh)两种方式下载源码:
当使用git方式下载时,如果没有配置过ssh key,则会报如下错误提示:
(2)如何配置SSH

首先用如下命令(如未特别说明,所有命令均默认在Git Bash工具下执行)检查一下用户名和邮箱是否配置(github支持我们用用户名或邮箱登录)

    git config --global  --list 


    # 如下图所示,说明还没配置

    ② 配置用户名和邮箱(如已配置则跳过)

      # 可以在自己github的Settings中找到
      git config --global user.name "这里换上你的用户名"
      git config --global user.email "这里换上你的邮箱"

      ③ 再次检查用户名和邮箱(如已检查成功则跳过)

        git config --global  --list 


        # 如下图所示,说明配置成功

        ④ 生成密钥

          # 执行命令后需要进行3次或4次确认(可以一路回车)
          ssh-keygen -t rsa -C "这里换上你的邮箱"


          # 结果如下图所示,记住红框内id_rsa.pub文件路径,后续需要配置到github上

          ⑤ 打开你的github,进入Settings配置页

          ⑥ 选择SSH and GPG keys项并新增

          ⑦ 将id_rsa.pub的内容填入Key中并Add

          至此ssh就配置完成了

          3. Clone 项目

          SSH配置完成后,再次进行Clone就可以正常下载了

            git clone git@github.com:yz-jayhua/doris.git

            4. IDEA 关联

            如果是实际开发中,需要先本地编译doris,然后分别用不同的client调试fe和be的本地环境,具体可以通过 Apache Doris 官方文档查阅相关章节:

            ① 打开clone的项目

            ② 打开Settings并搜索git

            ③ 点击测试让idea自动匹配并应用

            5. PR 生成

            来个简单的文档PR体验一把:修改一个文档的错别字。

            ① 定位修改文件路径

            查阅官方文档时发现如下一个错别字,对应官方文档的地址:DATETIME

            ② 从master新建一个分支去修改

            ③ 分支命名并创建

            ④ 创建后自动切换分支

            ⑤ 提交代码到本地仓库

            Commit Message参考:

            • fix:表示该提交用于修复错误或问题。

            • feat:表示该提交用于添加新功能。

            • docs:表示该提交用于更新文档

            • style表示该提交用于代码格式化或结构调整。

            • refactor:表示该提交用于代码重构,不添加新功能或修复错误。

            • perf:表示该提交用于提高性能。

            • test:表示该提交用于测试代码。

            ⑥ 推送代码至github仓库上

            ⑦ PR生成确认

            此时刷新github个人仓库对应的项目时,会出现PR请求,即说明PR生成成功。

            6. PR 提交

            ① 点击【Compare & pull request】并创建PR

            ② 提交结果确认

            提交后会生成相关的pr编号,后续流程如下:

            1. 会有社区小伙伴进行review并approval(如若等待时间过长,可联系作者或社区其他小伙伴)

            2. 第一步完成会开始跑后续的流水线,即自动对项目进行各种规则检测

            3. 流水线全部跑完后,会有社区的负责人进行合并Merge

            4. 合并成功后,恭喜你成为Apache Doris贡献者(Contributor)

            至此,恭喜你已飞速成为Apache Doris的开源贡献者(Contributor)啦;查阅过程中有遇到任何问题欢迎留言或私信交流。

            往期推荐

            大数据平台开发规范示例

            Kafka TO Doris 保姆级入门详解

            Apache Doris 资源隔离详解

            Apache Doris IP变更问题详解

            ChatGPT快速入门

            如何正确地使用ChatGPT(角色扮演+提示工程)

            AIGC快速入门体验之虚拟对象

            超强满血不收费的AI绘图教程来了(在线Stable Diffusion一键即用)

            文章转载自一臻数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论