爲開源項目作貢獻的10個步驟

建立乾淨,管理良好的GitHub貢獻的簡短指南。前端

在本文中,我將給出10個簡單的步驟,以確保GitHub的貢獻快速而乾淨。git

貢獻的生命週期(步驟)

1.fork主倉庫

fork主倉庫會在你的賬戶中建立一個副本。你能夠進行更改並將任何代碼推送到此fork,而沒必要擔憂會弄亂原始代碼庫。單擊頁面頂部的fork按鈕以建立一個新的fork。github

Fork後的版本庫如今能夠在你的帳戶中的「Repositories」部分找到。shell

2.Fork後的倉庫克隆到你的電腦

Fork後的倉庫克隆到電腦上,這樣咱們就有了代碼的本地副本。單擊Fork後的倉庫的SSH或HTTPS URL旁邊的剪貼板圖標來複制它。ide

如今在你的電腦上打開一個終端,而後運行如下命令來克隆fork的倉庫:fetch

git clone git@github.com:theawesomenayak/guava.git

3.建立功能/特性分支

在對代碼進行任何修改時,最好的作法是爲咱們須要進行的修改建立一個新的特性分支。這樣能夠確保咱們保持master分支的整潔,而且可以在必要時簡單地還原咱們的代碼或進行更新。ui

切換到克隆分支倉庫後建立的目錄:google

cd guava

建立一個新特性分支,其名稱能夠標識你計劃進行的更改。例如:spa

git checkout -b fix-npe-issue

4.將更改提交到特性分支

若是你在更改中建立了任何新文件,則須要將其添加到剛建立的分支中。翻譯

git add <filename>

對於所作的全部更改,你必須將它們提交到分支。確保添加有效的提交消息(根據項目的約定):

git commit -m "Fixed the NPE issue due to a null key used in cache"

5.將特性分支推到你fork的倉庫

如今是時候將你的提交推送到fork的倉庫中了:

git push origin fix-npe-issue

6.針對主倉庫提出Pull Request(PR)

將代碼推送到fork後的倉庫後,就能夠針對主倉庫提交PR了。單擊「Pull Request」按鈕以啓動新的PR。

這將帶你進入一個畫面,在這個畫面上,你的fork版本庫中的變化將與主版本庫中的代碼進行比較。你能夠在提交更改以前查看更改並提供有效的更改描述。

7.處理評論併合並PR

代碼維護人員一般會針對你所作的更改返回某些評論,這能夠是功能上的改變,也能夠是修飾性的改變,好比格式等等。一旦你作出了這些更改,只需將它們推到你的分支,PR就會自動更新。

一旦你的修改沒有什麼不妥的話,維護人員將把它們合併到主倉庫中。恭喜你!!你如今正式成爲一名開源貢獻者了。

8.將主存儲庫做爲上游添加到克隆倉庫中

除了你以外,許多其餘開發人員還一直將其代碼合併到主存儲庫中,咱們須要與它的分支庫連續進行同步,以獲取最新的代碼。

你克隆的存儲庫已連接到fork後倉庫了,爲了使fork的倉庫與主倉庫保持同步,你須要經過在克隆的倉庫中添加主倉庫做爲上游(upstream)來鏈接它們。

git remote add upstream git@github.com:google/guava.git

使用如下命令驗證上游設置是否正確:

git remote -v

它應該顯示如下值,以確認源和上游指向正確的倉庫:

origin  git@github.com:theawesomenayak/guava.git (fetch)
origin  git@github.com:theawesomenayak/guava.git (push)
upstream        git@github.com:google/guava.git (fetch)
upstream        git@github.com:google/guava.git (push)

9.從上游更新你的master分支

設置上游後,你能夠提取其餘開發人員在主倉庫中所作的更改,這將更新本地計算機上的克隆倉庫:

git pull upstream master

10.將主分支push到你的fork倉庫

一旦你在你的本地機器上有了全部的更新,你將須要把它們推送到你的fork後的倉庫中,使其與主倉庫同步。

git push origin master

(可選)刪除特性分支

特性合併到主倉庫後,便再也不須要它,能夠將其刪除:

git branch -d fix-npe-issue

你還能夠從fork的倉庫中刪除遠程分支:

git push origin --delete fix-npe-issue

最後

爲GitHub項目作貢獻可能會很棘手,這取決於有多少開發人員同時在作。但願這篇文章能爲你掃清GitHub貢獻的流程,讓你的開發週期變得更簡單一些。

感謝你花時間閱讀個人文章。


原文:https://medium.com/better-programming
翻譯:公衆號《前端全棧開發者》
image

相關文章
相關標籤/搜索