日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何给开源项目提过 PR 呢?其实很简单

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何给开源项目提过 PR 呢?其实很简单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以加我微信?ruochuan12

源碼共讀群里有小伙伴聊到如何給開源項目提PR,所以今天分享這篇文章。


你有給開源的庫或者框架提過 PR 嗎?

如果沒有,那么今天的文章會教你怎么給開源庫提 PR。

為什么要給開源項目提 PR?

這件事還得從好幾年前(2019年)說起,那時候在折騰一個虛擬 DOM 的玩具(參考之前的文章:🔗虛擬DOM到底是什么?

在構建工具上我選擇了 Rollup,希望每次構建的時候都能自動進行代碼的 Lint,所以引入了 Rollup 的一個插件:rollup-plugin-eslint。

在使用這個插件的過程中,發現和 Webpack 對應的插件 ?eslint-webpack-plugin 還是有一些差距的。我在使用 Webpack 的 eslint-webpack-plugin 時候,只需要配置 fix 屬性,就能夠在保存代碼的時候,自動對代碼進行 fix。

//?webpack.config.js const?ESLintPlugin?=?require('eslint-webpack-plugin');module.exports?=?{//?...plugins:?[new?ESLintPlugin({fix:?true,extensions:?['js',?'jsx']}) };

而在使用 rollup-plugin-eslint 的時候,看文檔上,好像沒有提到這個選項,也就是說 rollup-plugin-eslint 根本不支持這個功能。然后,搜索了一下 Issues,不搜不要緊,一搜嚇一跳,發現有人在 2016 年就提出了這個疑問😳。

作者的回復也很簡單,歡迎提交 PR。

我當時心想,這個功能這么久了都沒人實現想必很難吧。但是隔壁的 eslint-webpack-plugin 明明支持這個功能,我去看看它怎么實現的不就行了🐶。

于是,我就把 eslint-webpack-plugin 的代碼 clone 下來一頓搜索,發現它實現這個功能就用了三行代碼。

if?(options.fix)?{await?ESLint.outputFixes(results); }

激動的心,顫抖的手,我趕忙就去 ?rollup-plugin-eslint 那里提了個 PR。

🔗PR: https://github.com/TrySound/rollup-plugin-eslint/pull/27

關鍵是,作者都沒想到這個東西居然這么簡單就實現了。

如何在 GitHub 上提 PR?

上面是我第一次提 PR 的一個心路歷程,如果你也發現了你現在使用的什么開源框架有待優化的地方,這里再教大家怎么在 GitHub 上提交一個 PR。

對開源項目進行 Fork

首先把你要提交 PR 的項目 Fork 到自己的倉庫。

然后到自己的倉庫中,將 Fork 的項目 clone 到本地。

$?git?clone?git@github.com:Shenfq/rollup-plugin-eslint.git

切換到新分支,提交變更,推送到遠程

代碼 clone 到本地之后,先切換一個新的分支,分支名最好緊貼這次更新的內容。

$?git?checkout?-b?feature/add-fix-option

在新分支修改代碼:

+??if?(options.fix?&&?report)?{ +????CLIEngine.outputFixes(report); +??}

提交變更:

$?git?add?. $?git?commit?-m?"feat:?add?options.fix"

最后將新的分支推送到遠程:

$?git?push?--set-upstream?origin?feature/add-fix-option

新建 PR

在自己的 GitHub 倉庫中找到對應項目,打開 Pull requests Tab,點擊 New pull request 按鈕,新建一個 PR。

然后,在下面的界面中,選擇剛剛提交的分支,最后點擊 Create pull request 即可。

點擊之后,就在對應的項目中提交了一個屬于你的 PR 了。如果順利的話,你就能『混』 到一個開源項目貢獻者的頭銜。

- END -

最近組建了一個江西人的前端交流群,如果你是江西人可以加我微信?ruochuan12?私信 江西?拉你進群。

推薦閱讀

1個月,200+人,一起讀了4周源碼
我歷時3年才寫了10余篇源碼文章,但收獲了100w+閱讀

老姚淺談:怎么學JavaScript?

我在阿里招前端,該怎么幫你(可進面試群)

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列
從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。
同時,最近組織了源碼共讀活動

識別方二維碼加我微信、拉你進源碼共讀

今日話題

略。歡迎分享、收藏、點贊、在看我的公眾號文章~

總結

以上是生活随笔為你收集整理的如何给开源项目提过 PR 呢?其实很简单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。