如何在GitHub上編輯項目並創建PR呢?
關於這個主題有很多教程,但許多教程過於複雜,它們假設你必須為項目做出代碼貢獻,所以還有一些git設置。
如果你只需要編輯一個文件,比如修正項目的README中的拼寫錯誤呢?
你不需要知道如何編程或如何使用Git來完成這個操作。但是,一旦你開始進行Pull Request,你就可以進行更多事情並與其他人協作項目!也許這會激勵你在以後貢獻代碼。
假設你已經有一個(免費)GitHub帳號。如果沒有,請訪問github.com生成一個。
讓我向你展示整個流程。
我找到了一篇可能有拼寫錯誤的文章,該文章存在於這個頁面:https://web.dev/prefers-color-scheme/
我知道該網站是托管在GitHub上的,具體該文章位於這裡:https://github.com/GoogleChrome/web.dev/tree/master/src/site/content/en/blog/prefers-color-scheme
我直接在GitHub上打開index.md文件https://github.com/GoogleChrome/web.dev/blob/master/src/site/content/en/blog/prefers-color-scheme/index.md,然後按文件工具欄中的鉛筆圖標。將鼠標懸停在圖標上會顯示“Fork this project and edit the file”。
這將打開一個編輯器界面,顯示以下信息:
你正在編輯一個你沒有寫權限的項目中的文件。將提交對這個文件的更改,將它寫入你的fork flaviocopes/web.dev 的一個新分支中,然後你可以發送一個pull request。
我在文件中添加了那個句號,然後在底部的表單中解釋了我所做的更改:
我點擊了“Propose File Change”按鈕,然後顯示了一個比較視圖:
在這裡,我可以查看我所做的更改,確保一切都正常,最後我可以點擊“Create Pull Request”按鈕。目前這些更改已經發生在你fork的項目上,當你點擊鉛筆圖標時,GitHub會自動創建你的fork。
在這個視圖的頂部,你可以看到我正在將一個PR提交到GoogleChrome/web.dev
項目,從我的fork flaviocopes/web.dev
的分支patch-2
到他們的master
分支。
點擊“Create Pull Request”按鈕會顯示另一個表單,在這裡我可以為Pull Request撰寫詳細的描述。
Pull Requests可以包含多個不同的更改,理論上你可以在同一個PR中編輯許多文件,這就是為什麼你可以添加摘要。
這個倉庫有一個用於PR文本的模板,以幫助團隊管理它。我們的PR非常簡單,所以我移除了模板,只是將之前提交消息中的內容粘貼了過來。
右邊的提示看到了嗎?他們告訴我這個項目有一個CONTRIBUTING.md文件,其中解釋了如何參與貢獻和遵守的準則。非常酷。
看起來我們需要簽署一個CLA(貢獻者授權協議)來完成我們的PR。我過去已經簽署了Google的CLA,所以對我來說這一步很清楚,但你可能需要處理這個。大多數項目實際上不需要它。
我點擊“Create pull request”,PR現在已經提交!
現在由項目維護者來接受,你只需要等待一封郵件告訴你它是否被合併,或者其他人是否有評論。
[…過了幾個小時…]
我收到了一封郵件,該PR被拒絕了,因為那個句號實際上是在正確的位置上!(我不知道)
但無論如何,這是我想要添加的一個事情:如果你提交的PR不被接受,不要生氣或沮喪。項目的維護者可能花了好幾個月或幾年的時間,他們對於項目的了解比你更多。
此外,特別是對於代碼而言,觀點可能非常不同,你認為很好的PR可能不被歡迎。
最好在進行實質性PR之前先詢問,看看項目是否真的需要這樣的改變。
但這是另一個話題。