如何飞速成为开源贡献者(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.rhkb.cn/news/117882.html

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

相关文章

STM32f103入门(9)编码器接口测速

TIM3 PA6 PA7 上拉输入 原理上也是PWM捕获输入 捕获两个输入 我们用中断处理读取CNT的值 读取完将CNT置0 这样我们就得到了旋转编码器的速度/s 中断配置代码 #include "stm32f10x.h" // Device headervoid Timer_Init(void) {RCC_APB1PeriphClockC…

SWAT-MODFLOW地表水与地下水耦合

耦合模型被应用到很多科学和工程领域来改善模型的性能、效率和结果,SWAT作为一个地表水模型可以较好的模拟主要的水文过程,包括地表径流、降水、蒸发、风速、温度、渗流、侧向径流等,但是对于地下水部分的模拟相对粗糙,考虑到SWAT…

com.google.guava:guava 组件安全漏洞及健康分析

组件简介 维护者google组织许可证类型Apache-2.0首次发布2010 年 4 月 26 日最新发布时间2023 年 8 月 1 日GitHub Star48189GitHub Fork10716依赖包28,694依赖存储库219,576 Guava 是 Google 的一组核心 Java 库,其中包括新的集合类型(例如 multimap 和…

Web安全——穷举爆破上篇(仅供学习)

Web安全 一、概述二、常见的服务1、burpsuite 穷举后台密码2、burpsuite 对 webshell 穷举破解密码3、有 token 防御的网站后台穷举破解密码3.1 burpsuite 设置宏获取 token 对网站后台密码破解3.2 编写脚本获取token 对网站后台密码破解 4、针对有验证码后台的穷举方法4.1 coo…

ElasticSearch安装为Win11服务

在windows的环境下操作是Elasticsearch,并且喜欢使用命令行 ,启动时通过cmd直接在elasticsearch的bin目录下执行elasticsearch ,这样直接启动的话集群名称会默elasticsearch,节点名称会随机生成。 停止就直接在cmd界面按CtrlC 其实我们也可以将elasticse…

一篇文章教会你什么是二叉搜索树

二叉搜索树 二叉搜索树概念二叉搜索树操作1.二叉搜索树的查找2.二叉搜索树的插入3.二叉搜索树的删除4.二叉搜索树的遍历 二叉搜索树的实现1.二叉搜索树节点结构2.二叉搜索树类3.二叉搜索树的构造及析构4.二叉搜索树的拷贝构造及赋值重载5.二叉搜索树插入6.二叉搜索树查找7.二叉…

必读干货!独立站新手卖家常见十大问题解答

新手卖家入局跨境电商独立站,会考虑到很多问题,从网站到产品再到售卖最终的发货。而且卖家普遍对独立站存在认知不全的问题,门槛高、推广难、转化难是最初印象。 那独立站该怎么开始,如何下手?今天整理并解答独立站新…

数据结构--树4.2.2(二叉树--遍历)

目录 一、二叉树的建立 二、二叉树的遍历算法 一、二叉树的建立 CreateBitree(Bitree *t){char c;scanf("%c",&c);if( c){*t NULL;}else{*t(Bitnode*)malloc(sizeof(Bitnode));(*t)->data c;CreateBitree(&(*t)->lchild);CreateBitree(&(*t)-&…

Mybatis学习|注解开发、lombok

1.使用注解开发 无需再编写相应的Mapper.xml文件,直接将sql用注解的形式写在Mapper接口的对应方法上即可。 然后因为没有xml文件,所以要在mybatis-config.xml核心配置文件中注册这个Mapper接口,而不用去注册之前的Mapper.xml,这里其实如果用…

iOS 设置下载部分文件,如何获取完整文件的大小

在视频的需求中,遇到这样一个需求,播放一视频的时候,要预下载 后面10条视频,但是只下载后面十条视频的前面1M 实现方法 1 创建请求时设置cacheLength resource [[IdiotResource alloc] init];resource.requestURL task.request…

UE5.1 透明渲染流程框架图

相关文章: UE 透明物体绘制准备_sh15285118586的博客-CSDN博客 透明直接光和间接光生成_sh15285118586的博客-CSDN博客 Scene:Translucency-Translucency(AfterDOF)_sh15285118586的博客-CSDN博客 Scene:Translucency-Distortion &PostProcessing:ComposeTran…

详解vue3中ref和reactive用法和区别

vue3中ref和reactive区别 1、前言2、基本用法2.1 ref2.2 reactive 3、ref和reactive定义数组对比3.1 ref定义数组3.1 reactive定义数组 4、ref 和reactive的区别 1、前言 ref和reactive是Vue3中用来实现数据响应式的API,一般情况下,ref定义基本数据类型…

react css 污染解决方法

上代码 .m-nav-bar {background: #171a21;.content {height: 104px;margin: 0px auto;} }import React from "react"; import styles from ./css.module.scssexport default class NavBar extends React.Component<any, any> {constructor (props: any) {supe…

定位与轨迹-百度鹰眼轨迹开放平台-学习笔记

1. 百度鹰眼轨迹的主要功能接口 百度的鹰眼轨迹平台&#xff0c;根据使用场景不同&#xff0c;提供了web端、安卓端等各种类型的API与SDK&#xff0c;本文章以web端API为例&#xff0c;介绍鹰眼轨迹的使用。 2. API使用前的准备 使用鹰眼轨迹API&#xff0c;需要两把钥匙&…

分布式session的4种解决方案

分布式session的4种解决方案 1、cookie和session cookie和session都是用来跟踪用户身份信息的会话方式。 cookie存储的数据保存在本地客户端&#xff0c;用户获取容易&#xff0c;但安全性不高&#xff0c;存储数据小。 session存储的数据保存在服务器&#xff0c;用户不易获取…

Redis网络模型

目录 Redis网络模型 用户空间和内核态空间 阻塞IO(BIO) 非阻塞IO(NIO) IO多路复用 信号驱动IO 异步IO(AIO) Redis到底是单线程还是多线程&#xff1f; 为什么要使用单线程&#xff1f; Redis网络模型 进程的寻址空间会划分为两部分&#xff1a;内核空间、用户空间 用…

自然语言处理(六):词的相似性和类比任务

词的相似性和类比任务 在前面的章节中&#xff0c;我们在一个小的数据集上训练了一个word2vec模型&#xff0c;并使用它为一个输入词寻找语义相似的词。实际上&#xff0c;在大型语料库上预先训练的词向量可以应用于下游的自然语言处理任务&#xff0c;为了直观地演示大型语料…

2022年下半年系统架构设计师真题(下午带答案)

试题一 (25分) 某电子商务公司拟升级其会员与促销管理系统&#xff0c;向用户提供个性化服务&#xff0c;提高用户的粘性。在项目立项之初&#xff0c;公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性&#xff0c;由于当前用户规模不大&#xff0c;业务也相对…

使用 ElasticSearch 作为知识库,存储向量及相似性搜索

一、ElasticSearch 向量存储及相似性搜索 在当今大数据时代&#xff0c;快速有效地搜索和分析海量数据成为了许多企业和组织的重要需求。Elasticsearch 作为一款功能强大的分布式搜索和分析引擎&#xff0c;为我们提供了一种优秀的解决方案。除了传统的文本搜索&#xff0c;El…

【大数据模型】让chatgpt为开发增速(开发专用提示词)

汝之观览&#xff0c;吾之幸也&#xff01;本文主要聊聊怎样才能更好的使用提示词&#xff0c;给开发提速&#xff0c;大大缩减我们的开发时间&#xff0c;比如在开发中使用生成表结构脚本的提示词&#xff0c;生成代码的提示词等等。 一、准备 本文主要根据Claude进行演示&am…