如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)


  • 背景

  • 使用发现bug

  • 解决方式

  • 开源项目提交PR的标准流程

    • 1. fork项目到自己仓库

    • 2. 将自己的远程仓库和fork的源仓库建立连接

    • 3. 提交一个issues

    • 4. 本地开发提交

    • 5. 提交PR

  • 彩蛋


背景

最近项目要弄一个分布式链路追踪,然后传统的一些方案非常的重,不太适合,最终看上了Tlog这款开源框架非常的轻量

如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)
在这里插入图片描述

可以看到对于分布式链路追踪只是生成一个全链路id,还是比较方便。具体使用不是本文的重点。这里想要了解使用的推荐大家去看官方官方文档地址github开源地址

github start还是比较少的,gitee相对多一点,但并不影响他的好用

使用发现bug

首先说一下我们这边的接入方式使用的是Logback框架适配器方式接入的。在接入完启动后就发现xxl增强器报错了。如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)

然后跟了下源码,定位到是这里加载xxl-job的类报错了如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)

解决方式

大致看了一下,就是Javassist字节码增强的时候找不到这个类,然后去javassist官方文档看了下说明如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)上面的话大致意思是:静态方法 ClassPool.getdefault ()返回的默认 ClassPool 搜索底层 JVM (Java 虚拟机)的相同路径。如果一个程序运行在 web 应用服务器上,比如 JBoss 和 Tomcat,那么 ClassPool 对象可能无法找到用户类,因为这样的 web 应用服务器使用多个类加载器以及系统类加载器。在这种情况下,必须向 ClassPool 注册一个附加的类路径。假设 pool 引用一个 ClassPool 对象:

pool.insertClassPath(new ClassClassPath(this.getClass()));

大致问题定位到了,也知道怎么解决了。下面说说提交pr的标准流程

开源项目提交PR的标准流程

1. fork项目到自己仓库

如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)
image-20211013174638982

2. 将自己的远程仓库和fork的源仓库建立连接

具体步骤如下:
  1. 将项目clone到本地(或者IDEA)
  2. 使用如下git命令查看自己仓库的连接
 git remote -v
如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)
image-20211018173701415

这里可以看到还没有与上游仓库建立连接

  1. 与上游建立关系

    git remote add upstream https://github.com/dromara/TLog.git

这里的 后面的https地址为 源开源项目的git地址

  1. 再次使用查看命令
git remote -v

如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)>可以看到已经与源仓库建立连接了

3. 提交一个issues

一般我的pr都是解决一个bug或者一个feature 功能,我这里是解决一个bug,所以先提交一个bug的issues

如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)
在这里插入图片描述

4. 本地开发提交

我们由于已经把源代码下载下来到本地了,我们正常在本地开发解决到这个bug,然后推送到我们自己仓库

5. 提交PR

我们推送分支后到我们自己本地的Tlog仓库如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)

会发现有这么个pull request 直接点击,就可以推送了,然后就到了Pull reuqests页面,一般会有一个格式,让你关联上一个issues,大致是这样的如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)

大致一个完成的开源项目PR就已经完成了,后续如果没有问题作者就会给你合并。有时候作者可能比较忙,没空看或者处理,你比较着急可以加作者微信沟通或者邮件沟通

彩蛋

我这里就是加了微信和作者联系了下,他也是看了看我这个pr,可以给大家看看我们沟通过程如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)


原文始发于微信公众号(小奏技术):如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/30256.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!