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

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

  • 一、环境信息
    • 1.1 硬件信息
    • 1.2 软件信息
  • 二、Git安装
    • 2.1 Git介绍
    • 2.2 Git下载安装
  • 三、开源项目选定
  • 四、GitHub参与开源流程
    • 4.1 Fork项目
    • 4.2 SSH配置
      • 4.2.1 为什么要配置SSH
      • 4.2.2 如何配置SSH
    • 4.3 Clone项目
    • 4.4 IDEA关联
    • 4.5 PR生成
    • 4.6 PR提交

一、环境信息

1.1 硬件信息

  1. 型号 :MacBook Pro
  2. 内存 :16GB
  3. 硬盘 :512GB SSD
  4. 处理器 :Apple M2
  5. 宿主机CPU架构 :ARM

1.2 软件信息

  1. Git版本 :2.39.2 (Apple Git-143)
  2. Maven版本 :3.8.8
  3. JDK版本 :17

二、Git安装

2.1 Git介绍

Git 是一个分布式版本控制系统,用于管理和跟踪文件的变化。它可以帮助开发人员或团队追踪代码的修改历史、协同开发、管理各个版本的代码,并提供了回滚、分支管理、合并等功能。
使用 Git,开发人员可以在不同的分支上独立工作,然后将各自的修改合并到主分支上,以便保持代码的整洁和可维护性。Git 是开源的,易于安装和使用,因此被广泛应用于软件开发和其他版本控制的场景中。
在这里插入图片描述

2.2 Git下载安装

直接参考 git 官方网站:https://git-scm.com/

在这里插入图片描述

三、开源项目选定

乙真仙人选定的是Apache Doris

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。
基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。
在这里插入图片描述

四、GitHub参与开源流程

4.1 Fork项目

在GitHub中,“fork” 指的是将别人的代码库复制到自己的账户下,并在独立的分支上进行修改和扩展的行为。
当你在GitHub上找到一个你感兴趣的项目,并希望对其做出改进、贡献或者使用它作为自己项目的基础时,你可以选择将该项目进行fork。这将在你的GitHub账户下创建一个原项目的副本,包含了所有的代码、历史记录和分支。
在你进行分叉后,你便可以在自己的项目副本上自由地进行修改和实验,而不会影响原项目的稳定性和功能。你可以添加新的特性、修复问题、优化代码,或者根据自己的需求进行个性化定制。
fork之后,你可以将你的修改提交回原项目,这就是所谓的"pull request"(合并请求)。原项目的维护者将会审核你的更改,并决定是否接受你的修改并将其合并到原项目中。
通过这种方式,fork功能为开源社区提供了一种协作的方式,使得项目能够从众多贡献者的力量中受益。

1.点击fork
在这里插入图片描述2.创建fork
在这里插入图片描述
3.查看fork
在这里插入图片描述

4.2 SSH配置

4.2.1 为什么要配置SSH

git clone支持https和git(即ssh)两种方式下载源码:
在这里插入图片描述
当使用git方式下载时,如果没有配置过ssh key,则会报如下错误提示:
在这里插入图片描述

4.2.2 如何配置SSH

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

git config --global  --list # 如下图所示,说明还没配置

在这里插入图片描述

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

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

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

git config --global  --list # 如下图所示,说明配置成功

在这里插入图片描述

4.生成秘钥

# 执行命令后需要进行3次或4次确认(可以一路回车)
ssh-keygen -t rsa -C "这里换上你的邮箱"# 结果如下图所示,记住红框内id_rsa.pub文件路径,后续需要配置到github上

在这里插入图片描述

5.打开你的github,进入Settings配置页
在这里插入图片描述

6.选择SSH and GPG keys项并新增
在这里插入图片描述
7.将id_rsa.pub的内容填入Key中并Add

至此ssh就配置完成了
在这里插入图片描述

4.3 Clone项目

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

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

在这里插入图片描述

4.4 IDEA关联

1.打开clone的项目
在这里插入图片描述

2.打开Settings并搜索git
在这里插入图片描述

3.点击测试让idea自动匹配并应用
在这里插入图片描述

4.5 PR生成

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

1.定位修改文件

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

在这里插入图片描述

2.从master新建一个分支去修改
在这里插入图片描述

3.分支命名并创建
在这里插入图片描述

4.创建后自动切换分支
在这里插入图片描述

5.提交代码到本地仓库

Commit Message参考:
fix:表示该提交用于修复错误或问题。
feat:表示该提交用于添加新功能。
docs:表示该提交用于更新文档。
style:表示该提交用于代码格式化或结构调整。
refactor:表示该提交用于代码重构,不添加新功能或修复错误。
perf:表示该提交用于提高性能。
test:表示该提交用于测试代码。

在这里插入图片描述

6.推送代码至github仓库上
在这里插入图片描述

7.PR生成确认

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

在这里插入图片描述

4.6 PR提交

1.点击【Compare & pull request】并创建PR
在这里插入图片描述

2.提交结果确认

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

  1. 会有社区小伙伴进行review(Apache Doris目前需要2位小伙伴review后才可进行下一步,不同的项目要求不同)
  2. review完成并确认后会开始跑流水线,即自动对项目进行各种规则检测
  3. 流水线全部跑完后,会有社区的负责人进行合并Merge
  4. 合并成功后,恭喜你成为Apache Doris贡献者(Contributor)

在这里插入图片描述
在这里插入图片描述

至此,你已飞速成为开源贡献者(Contributor)啦~查阅过程中若遇到问题欢迎留言或私信交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/95486.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud入门实战(十五)分布式事务框架Seata简介

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

虚拟世界指南:从零开始,一步步教你安装、配置和使用VMware,镜像ISO文件!

本章目录 CentOS简介镜像下载一、新建虚拟机(自定义)1、进入主页,在主页中点击“创建新的虚拟机”2、点击创建虚拟机创建自己的虚拟机。可以选择自定义3、在“硬件兼容性(H)中选择:Workststion 15.x” ->下一步4、选择“稍后安…

牛客网刷题

牛客网刷题-C&C 2023年9月3日15:58:392023年9月3日16:37:01 2023年9月3日15:58:39 2023年9月3日16:37:01 整型常量和实型常量的区别

已知两地经纬度,计算两地直线距离

文章目录 1 原理公式2 代码实现2.1 JavaScript2.2 C2.3 Python2.4 MATLAB 1 原理公式 在地球上,计算两点之间的直线距离通常使用地理坐标系(例如WGS84)。计算两地直线距离的公式是根据经纬度之间的大圆距离(Great Circle Distanc…

2024王道408数据结构P144 T18

2024王道408数据结构P144 T18 思考过程 首先还是先看题目的意思,让我们在中序线索二叉树里查找指定结点在后序的前驱结点,这题有一点难至少对我来说…我讲的不清楚理解一下我做的也有点糊涂。在创建结构体时多两个变量ltag和rtag,当ltag0时…

Python实现多子图绘制系统

文章目录 修改DrawTypeDrawType的调用逻辑绘图逻辑源代码 Python绘图系统: 📈从0开始的3D绘图系统📉一个3D坐标系,多个函数图表类型和风格:📉极坐标绘图📊散点图和条形图📊混合类型…

java.sql.SQLException: com.mysql.cj.jdbc.Driver

这篇文章分享一下Springboot整合Elasticsearch时遇到的一个问题,项目正常启动,但是查询数据库的时候发生了一个异常java.sql.SQLException: com.mysql.cj.jdbc.Driver java.sql.SQLException: com.mysql.cj.jdbc.Driverat com.alibaba.druid.util.JdbcU…

软件架构模式+系统架构

架构模式对比 分层模式 一般信息系统中最常见的4层划分如下: Presentation layer 表示层(也就是UI层)Application layer 应用层(也就是服务层)Business logic layer 业务逻辑层(也就是领域层)…

eureka服务注册和服务发现

文章目录 问题实现以orderservice为例orderservice服务注册orderservice服务拉取 总结 问题 我们要在orderservice中根据查询到的userId来查询user,将user信息封装到查询到的order中。 一个微服务,既可以是服务提供者,又可以是服务消费者&a…

Open3D(C++) 整体最小二乘拟合平面

目录 一、算法原理1、算法过程2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。 一、算法原理 1、算法过程 最小二乘拟合平面认为点云数据系数矩阵不存在误差,然而由于观测条件的限制,观测向量、系数矩阵都有可能存在误差,那么最小二乘方法就不再是最…

【教程】部署apprtc服务中安装google-cloud-cli组件的问题及解决

#0# 前置条件 已经安装完成node,grunt,node 组件和python pip包等。需要安装google-cloud-cli组件。 Ubuntu安装google-cloud-cli组件 apprtc项目运行需要google-cloud-cli前置组件,且运行其中的dev_appserver.py。 根据google官方的关于安…

MyBatis——MyBatis插件原理

摘要 本博文主要介绍MyBatis插件机原理,帮助大家更好的理解和学习MyBatis。 一、插件机制概述 MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括: Executor (update, que…