重大變更的 GitHub 貢獻工作流程
概述
此工作流程適合需執行重大變更或經常對存放庫做出貢獻的貢獻者。經常貢獻者通常會長期持續執行變更作業,這些變更會先經過多次建立/驗證/測試週期,或橫跨多天時間,提取請求才能獲得簽核和合併。
術語
開始之前,請先檢視此工作流程所使用的 Git/GitHub 術語。
若您不熟悉 Git 和 GitHub 概念 (例如存放庫或分支),請先參閱 Git 和 GitHub 基本介紹。
工作流程
在此工作流程中,變更會以週期重複的方式進行。從裝置的本機存放庫開始,變更會回到 GitHub 複本、進入主要 GitHub 存放庫,並在您納入其他貢獻者提出的變更時再次回到本機。
使用 GitHub 流程
回想一下 Git 和 GitHub 基本介紹,Git 存放庫包含主要分支,以及其他任何尚未整合至主要分支的進行中分支。每當您導入一組邏輯縝密的變更時,最佳作法是建立 工作分支,透過工作流程管理您的變更。我們稱之為工作分支,因為在變更可以整合回主要分支之前,它都是可反覆查詢/調整變更的工作區。
隔離對特定分支進行的相關變更,即可單獨控制並導入這些變更,將其鎖定至發佈週期中的特定發行時間。實際上,存放庫隨便都會有數個工作分支,端視您的工作類型而定。同時存在多個分支是很常見的現象,而每個分支都代表不同專案。
接下來,您需要在本機存放庫中建立新的工作分支,擷取您提出的變更。每個 Git 用戶端不盡相同,因此請向您偏好的用戶端服務商尋求協助。如需程序概述,請查閱 GitHub 流程的 GitHub 指南。
提取請求處理
您可將提出的變更合併成新的提取請求 (PR),新增至目的地存放庫 PR 佇列,再提交變更。只要提取工作分支的變更並合併至其他分支,提取請求即可啟用 GitHub 的協作模型。大多數情況下,所謂其他分支其實就是主要存放庫中的預設/主要分支。
驗證
提取請求可合併至目的地分支之前,可能需先完成一或多個 PR 驗證程序。驗證程序可能會因所提出的變更範圍及目的地存放庫的規則而有所不同。提交提取請求後,內容會經過審核,並在適當時合併至主要存放庫。
審核和簽核
所有 PR 處理作業完成後,您應先查看結果 (包括 PR 注釋、預覽網址),確定檔案是否需要其他變更,而後才可簽核以供合併。PR 審核者審核完您的提取要求後,若在合併前仍有未解決的問題/疑問,他們也可以透過注釋提供意見。
提取請求沒有任何問題且完成簽核後,您的變更就會合併回父分支,提取請求也會關閉。
發行
記住,您的提取請求必須先經由 PR 審核者合併,變更才會納入下次已排程的發佈作業。提取請求通常會依照提交順序來審核/合併。若您的提取請求需提前合併,以趕上特定的發佈作業,請事先與 PR 審核者商量,確保能在發佈前完成合併。