純網頁端 PR 教學
約 1773 字大約 6 分鐘
牛牛也能看懂的 GitHub Pull Request 使用指南 (*´▽ `)ノノ
注意
本教學中對許多概念進行了簡化,為了讓更多朋友能實際上手,甚至有一些不那麼「優雅」但簡單的操作,以及一些不完全精確的解釋,還請各位大神手下留情。
若您具備一定的 Git 使用經驗及程式設計基礎,那你還看這個 🔨,可以參考進階版的教學:GitHub Pull Request 流程簡述。
基本概念及名詞解釋
這一章節內容略顯枯燥,如果不感興趣可以直接跳到下面的實作部分,遇到不理解的地方再回來查看。
Repository(倉庫)
簡稱 Repo 或倉庫,是存放程式碼及其他資源檔案的地方。
👇 可以簡單理解為目前這個網頁及其所有內容,就是 MAA 的倉庫(我們一般稱之為 MAA 的主倉庫)。

Fork(複製)
複製,字面意思就是將 MAA 的程式碼完整複製一份到自己的帳號下,以便進行後續修改,避免不小心弄壞原本的內容。
在中文語境中,「複製」一詞首先想到的可能是 copy,而 fork 也沒有其他明確的中文翻譯,所以我們通常直接說英文,例如:「把程式碼 Fork 一份走」。
為了區分,我們通常將原本的 MAA 倉庫稱為 「主倉庫」 或 「Upstream(上游倉庫)」。
而從主倉庫 Fork 出來的則稱為 「個人倉庫」 或 「Origin(遠端倉庫)」。

Pull Request(拉取請求、合併請求)
簡稱 PR。因為「拉取請求」聽起來很生硬且字數較多,而且字太多了打起来太累,大家通常直接說:「發個 PR」。
延續前文,當您在 Fork 出來的個人倉庫修改完成後,該如何將內容提供給主倉庫呢?這時就可以發起一個 PR,申請將自己修改的內容合併到主倉庫中。
當然,既然是「請求」,就代表需要經過審核。MAA Team 的成員會針對您的修改提供建議,大家可以理性討論,共同完善內容。
👇 以下是目前大佬發起的 PR,正等待審核中。

Conflict(衝突)
假設主倉庫中有個 A 檔案,內容是 111。
您 Fork 了一份並改為 222;但在您提交 PR 之前,另一位開發者張三也提交了 PR 並將 A 檔案改成了 333。
這時系統會發現你們兩人都修改了同一個地方,且內容不同,程式不知道該聽誰的,這就是 Conflict(衝突)。
衝突處理起來較為複雜,此處僅闡述概念,讓您在遇到時能理解發生了什麼事。
純網頁端 PR 操作全流程
首先進入 MAA 主倉庫,點擊右上角的 Fork 按鈕。

接著直接點擊 Create Fork。

現在來到了您的個人倉庫,標題會顯示為
您的帳號名稱/MaaAssistantArknights,下方會有一行小字標註forked from MaaAssistantArknights/MaaAssistantArknights(複製自 MAA 主倉庫)。
找到要修改的檔案。可以點擊 Go to file 進行全域搜尋,如果您知道文件在哪裡的話,也可以直接在下方的資料夾翻找。

開啟檔案後,點擊右上角的 ✏️ 按鈕進行編輯。

開始修改!(如果是資源檔案,建議先在電腦上的 MAA 資料夾測試,確認沒問題後再貼到網頁上,以免改錯)。
修改完成後,點擊右上角的 👇 這個按鈕開啟提交頁面,並寫下您的修改說明。

我們有一套簡單的提交標題命名格式,建議盡量遵守;若暫時無法理解,也可以先簡單描述。

還有其他檔案要改?或是發現改錯了想再修補?沒關係!重複步驟 4-7 即可。
全部改好後,準備發起 PR!點擊 Code 回到個人倉庫首頁。
如果有出現 Compare & Pull Request 按鈕,請直接點擊它;若沒看到,點擊下方的 Contribute(貢獻)按鈕,再點 Open Pull Request 也是一樣的。
此時會進入主倉庫的 PR 頁面,請核對提交內容是否正確。
如下圖所示,箭頭方向是將右側「您的帳號 / MAA」的dev分支合併到「主倉庫 / MAA」的dev分支。頁面下方會顯示兩者間的差異。
接著填寫標題與具體修改內容,最後點擊確認。
PR 標題同樣建議遵循命名格式。
接下來請耐心等待 MAA Team 的審核!當然他們可能也會提出自己的意見。 👇 比如(純屬娛樂,請勿當真)

若大佬要求針對細節進行修正,請回到您的個人倉庫,重複步驟 4-7 即可。
請注意,不需要重新 Fork(步驟 1-2)或重新發起 PR(步驟 9-10)。您目前的 PR 仍處於開啟狀態,後續的修改會自動更新到同一個 PR 中。 👇 可以看到最下面多了一條「重新修改演示」的內容
當大佬們審核通過並被合併(Merged)後,就大功告成了!您的修改已正式進入 MAA 主倉庫。
下次若想再發起新的 PR,請先回到個人倉庫首頁,點擊 Sync fork 讓您的倉庫與主倉庫同步。
注意:若出現紅色的 Discard 1 commit,請優先點擊它;若無,則點擊綠色的 Update branch。接著即可重複步驟 4-10 進行新的修改。

在版本發布後,您的 GitHub 頭像將會自動出現在貢獻者名單中。非常感謝您的無私奉獻! 怎麼全是二次元啊,哦我也是,那沒事了
