如何向開源專案提交pr,完成人生中第一次程式碼貢獻。

語言: CN / TW / HK

今天教大家如何給開源專案提交pr,成為一名開源貢獻者。pr是Pull Request的縮寫,當你在github上發現一個不錯的開源專案,你可以將其fork到自己的倉庫,然後再改動一寫程式碼,再提交上去,如果專案管理員覺得你的提交還不錯的話,就會將你的程式碼合併,然後你就成為了這個程式碼的貢獻者了。

基礎的git操作咱今天就不說了,直接步入正題,傻瓜式流程,直接按步操作即可。

一、fork程式碼

先登入自己的github賬戶,找到自己要提pr的專案。這裡我們以element-plus為例。

image.png

進入主頁後,可以看到右上角有Fork按鈕,點選之後,等待幾秒就會fork成功。

image.png

我們可以看到,此時該專案就跑到我們自己的倉庫目錄下了,接下來我們就可以將該專案克隆到本地,進行後續操作。

二、clone程式碼

  1. 點選頁面上右邊的Code綠色按鈕,再點選複製按鈕,複製該連結,將其克隆到本地。

image.png

  1. 在本地的某個目錄下,開啟命令列,輸入如下程式碼 git clone https://github.com/smalller/element-plus.git 注意!注意!注意!上面的地址是我倉庫的地址,千萬不要直接複製,要去複製自己倉庫下的地址。

image.png

這樣就代表專案已經成功克隆到本地。

  1. 接下來,我們可以在克隆好的專案的根目錄下,用以下命令,檢視自己是否與遠端倉庫建立了連線 git remote -v

image.png

可以看到,已經建立連線,接下來還需要與上游建立連線,這裡上游指的是一開始fork的那個專案源,即element-plus。

  1. 與上游建立連線,這段程式碼可直接複製。 git remote add upstream https://github.com/element-plus/element-plus.git 此時,我們再輸入git remote -v,就可以看到本地已經和遠端倉庫以及上游建立了連線。

image.png

三、同步最新程式碼

為什麼要這麼做?因為當你在開發的時候,可能其他人也在開發,很有可能你fork的程式碼已經不是最新的了,這時你就需要不斷更新你的程式碼,至少保證在push前要更新一次,這樣才能確保不會發生程式碼衝突。

命令列輸入以下程式碼 git fetch upstream dev 為什麼這裡是dev分支,因為該專案預設clone的就是dev分支下的程式碼。當然這裡你也可以自己在本地建立一個分支,然後拉取,最後再去dev分支裡合併自己建立的分支程式碼。

## 四、編寫程式碼 接下來,就是自由發揮環節了,這裡不做過多說明了。

## 五、提交程式碼 程式碼編寫完成後,就可以提交程式碼了。當然,不同開源專案可能會有自己的提交規範,我們可以看下element-plus的提交規範。

image.png

我們只需按照其中Pull Request規範來做即可。 1. commit 程式碼 git add . git commit -m fix(components): [el-scrollbar] fix xxx bug 2. push 程式碼 git push origin dev push程式碼成功後,我們就將進行最後一步,提交pr。

六、提交pr

我們回到自己倉庫的專案主頁,可以看到剛才提交的記錄,則表示之前的操作都已成功。接下來,點選箭頭所指的Pull Requests選項。

image.png

點選箭頭所指的New pull request按鈕

image.png

接下來,點選Creat pull request即可提交成功。

image.png

最後,只需耐心等待管理員的稽核即可。開源專案的所有pr記錄可以在這裡檢視,包括你剛才提交的。

image.png

如果你的提交被稽核通過,則會像下面這個這樣,顯示All checks have passed

image.png

這樣,整個提交pr流程就已完成,是不是覺得很簡單,可以自己去試試哦,畢竟能成為一個開源專案的貢獻者還是挺不錯的,也算是面試的加分項。