什麼是提取要求?

已完成

首先:

  • 檢閱分支及其提取要求的重要性。
  • 定義提取要求是什麼。
  • 了解如何建立提取要求、檢閱提取要求狀態,以及合併提取要求。

分支

首先,我們要定義分支是什麼、為何對開發人員很重要,以及這些分支與提取要求有何關聯。

分支是隔離的工作區,您可以在其中開發工作,而不會影響存放庫中的其他人。 這可讓您在存放庫的內含區域中開發功能、修正錯誤 (bug),以及安全地實驗新想法。

開發人員在獨立分支上工作是現代軟體開發中的常見概念。 藉由擁有自己的分支,開發人員可以進行任何變更 (亦稱為認可),而不必擔心他們的認可會如何影響其他也在自己分支上工作的開發人員。

合併分支

雖然讓每個開發人員在個別分支上工作有助於提升個人生產力,但也會帶來新的挑戰。 在某個時間點,每個開發人員的分支會需要合併至一般分支,例如 main。 隨著專案縮放,可能就會需要進行許多合併,而且追蹤及檢閱每個合併也變得越來越重要。 需要追蹤專案的多個變更就是需要提取要求介入的地方。

什麼是提取要求?

提取要求可記錄分支變更,並在開發人員分支的變更已準備好合併至基底 (主要) 分支時發出通知。 提取要求可讓專案關係人有機會檢閱及討論提議的變更,以確保基底分支中的程式碼能夠盡可能維持高品質。

為了讓兩個分支合併,這些分支必須彼此不同:

  • 比較分支是開發人員自己的分支,其中包含他們所做的特定變更。
  • 基底分支也稱為分支,是需要將變更合併至其中的分支。

比較最常見的用法是比較分支,例如當您開始新的提取要求時。 啟動新的提取要求時,您一律會進入分支比較檢視。

建立提取要求

現在我們來檢閱如何建立提取要求!

  1. GitHub.com上,瀏覽至存放庫的主頁面。

  2. 在 [分支] 功能表中,選取包含您認可的分支。

    建立新分支並將其命名的螢幕擷取畫面。

  3. 在檔案清單上方的黃色橫幅中,選取 [比較與提取要求] 按鈕,以建立相關聯分支的提取要求。

    黃色文字輸入框的螢幕擷取畫面,其中醒目提示綠色的比較和提取要求按鈕。

  4. 在 [基底分支] 下拉式功能表中,選取您想要將變更合併至其中的分支。 然後選取 [比較分支] 下拉式功能表,選取您在其中進行變更的分支。

  5. 輸入提取要求的標題和描述。

  6. 若要建立可供檢閱的提取要求,請選取 [建立提取要求] 按鈕。 若要建立草稿版的提取要求,請選取下拉式清單,然後選取 [建立草稿版提取要求],然後選取 [草稿版提取要求]

提取要求狀態

現在我們來檢閱提取要求的不同狀態。

  • 草稿版提取要求 - 當您建立提取要求時,您可以選擇建立可供檢閱的提取要求或草稿版提取要求。 具有草稿狀態的提取要求無法合併,且不會自動要求程式碼擁有者檢閱草稿版提取要求。

  • 開放提取要求 - 開放狀態表示提取要求正在作用中,但尚未合併至基底分支。 您仍然可以進行認可,並與共同作業者討論及檢閱潛在變更。

  • 關閉的提取要求 - 您可以選擇關閉提取要求,而不將其合併至基底/主要分支。 如果不再需要分支中建議的變更,或另一個分支中已有另一個建議的解決方案,則適用此選項。

  • 合併的提取要求 - 合併的提取要求狀態表示來自比較分支的更新和認可會與基底分支合併。 具有存放庫推送存取權的任何人都可以完成合併。

合併提取要求

  1. 在您的存放庫名稱下,選取 [提取要求]

    存放庫頂端導覽列的螢幕擷取畫面,其中已醒目提示 [提取要求] 索引標籤。

  2. 在 [提取要求] 清單中,選取您想要合併的提取要求。

  3. 向下捲動至提取要求底部。 視存放庫啟用的合併選項而定,您可以:

    • 選取 [合併提取要求] 按鈕,將所有認可合併至基底分支。 如果未顯示 [合併提取要求] 選項,請選取合併下拉式功能表,選取 [建立合併認可] 選項,然後選取 [建立合併認可] 按鈕。

      綠色合併提取要求按鈕下拉功能表的螢幕擷取畫面,其中已選取 [建立合併認可]。

    • [壓縮和合併] 可讓您將所有認可都合併成一個認可。 此選項可讓您的存放庫歷程記錄更容易閱讀且井然有序。 選取 [壓縮和合併] 選項,然後選取 [壓縮和合併] 按鈕。

    • [重訂基底和合併] 選項可讓您在沒有合併認可的情況下進行認可。 此選項可讓您藉由維護線性專案歷程記錄來略過合併。 選取合併下拉式功能表,然後選取 [重訂基底和合併] 選項,接著選取 [重訂基底和合併] 按鈕。

  4. 如果出現提示,請輸入認可訊息,或接受預設訊息。

  5. 如果您在 GitHub.com 上有多個與帳戶相關聯的電子郵件地址,請選取電子郵件地址下拉式功能表,然後選取要作為 Git 作者電子郵件地址使用的電子郵件地址。 只有已驗證的電子郵件地址會出現在此下拉式功能表中。 如果您已啟用電子郵件地址隱私設定,則不回覆 (no-reply) GitHub 電子郵件會是預設的認可作者電子郵件地址。

    螢幕擷取畫面顯示提交變更,其中包含描述方塊和電子郵件下拉式功能表,用於選取作為提交的作者。

  6. 選取 [確認合併]、[確認壓縮和合併] 或 [確認重訂基底和合併]

  7. 您可以選擇性地刪除比較分支,讓存放庫中的分支清單保持整齊。

接下來,您會完成一個需要您所檢閱內容的練習,並將其套用至實際範例。