如何为开源项目ant-design提PR?

今天无聊看了看ant-design的cascader组件,下载源码后发现实现基于rc-cascader源码实现的,并且都是阿里维护的。于是我就clone了rc-cascader源码到本地。本地运行npm i然后执行下了npm run test发现测试报错如下:

心想不应该啊,我git clone的master分支,什么都没改咋就报错了?于是追查了下去发现是antd的维护者提的另一个pull 985导致的。

经过确认准备提一个修复的PR给rc-cascader,我先在rc-cascader提了一个issue434。如下

标题 Error when running npm run test. 描述了遇到的问题。 评论部分放上了报错截图和导致问题pr的链接

提完issue接下来就可以按照问题准备自己的PR了。

  1. 第一步,找到官方的代码仓库fork代码到自己的github仓库中,我们本文称官方的代码仓库为fork源,fork到自己github的仓库称之为fork镜像。
  1. 第二步,在自己的仓库找到fork的仓库并git clone代码到本地,我们称之为fork本地镜像。
  1. 第三步,本地打开clone下来的代码,执行git remote add upstream github.com/react-compo... ,upstream后的地址来自fork的源的浏览器地址加.git后缀。如下图:

这样就将添加cascader的远程地址,用于将fork本地镜像和fork源代码做同步使用。本地执行git pull upstream master就可以将本地clone的fork本地镜像和fork源做代码同步。

  1. 第四步,本地基于master分支创建新的分支fix-snapshots-error,修改代码,然后执行npm run test -- -u更新本地快照。我这里是快照错误,所以我没有什么要修改的代码,将快照更新后就commit + push到自己的fork镜像仓库中了。

进入自己fork镜像仓库中,会有如图所示的提示,询问你是否创建PR,点击绿色按钮创建PR即可。然后编辑PR模版:

标题可以参考已经合并的PR填写,添加描述(antd有一套自己的PR模版,按照要求来可以更利于维护者们的审核)并提及这个PR是用于解决哪个issue的。然后创建完PR你就会发现:

你刚才提的issue底下就显示了你提的PR的链接!(此处我的PR是已经被合并了,所以显示closed和merged)

  1. 第五步,等待开源代码的维护者们review你的PR并且提出的修改意见,初衷都是希望代码质量更高,经过你们的商讨和修改,维护者们将会同意你的PR合并到他们的分支,至此你的PR就已经进入了开源的世界!
相关推荐
DeathGhost19 分钟前
CSS container容器查询
前端·css
JarvanMo19 分钟前
Flutter:展示大段格式化文本的挑战
前端
兆子龙24 分钟前
Node.js ESM Loader Hooks 介绍:用 module.register 做转译、Import Map 与自定义解析
前端
四眼肥鱼25 分钟前
flutter 利用flutter_libserialport 实现SQ800 串口通信
前端·flutter
ZFSS26 分钟前
OpenAI Images Edits API 申请及使用
前端·人工智能
Lee川38 分钟前
从零构建AI对话应用:Vite脚手架搭建与API密钥安全实践
前端·程序员
允许部分打工人先富起来39 分钟前
在node项目中执行python脚本
前端·python·node.js
钟智强40 分钟前
Flutter引擎Android平台JNI层未验证指针转换漏洞
前端
骑着小黑马44 分钟前
Electron + Vue3 + AI 做了一个新闻生成器:从 0 到 1 的完整实战记录
前端·人工智能
Sailing1 小时前
LLM 调用从 60s 卡死降到 3s!彻底绕过 tiktoken 网络阻塞(LangChain.js 必看)
前端·langchain·llm