GitHub 流程的元件
在此單元中,我們會檢閱下列 GitHub 流程的元件:
- 分支
- 認可
- 提取要求
- GitHub 流程
什麼是分支
在上一節中,我們在您的存放庫中建立了一個新檔案和一個新分支。
分支是 GitHub 體驗不可或缺的一部分,因為我們可以在其中進行變更,而不會影響我們正在處理的整個專案。
您的分支是實驗新功能或修正程式的安全位置。 如果您犯了錯誤,可以還原變更或推送更多變更來修正錯誤。 在合併分支之前,您的變更不會在預設分支上更新。
注意
或者,您可以建立一個新分支並在終端機中使用 git 將其簽出。 此命令會是 git checkout -b newBranchName
什麼是認可
在上一單元中,您透過推送認可將新檔案新增至存放庫。 讓我們簡短地檢閱什麼是認可。
認可是對分支上一或多個檔案所做的變更。 每次建立認可時,都會為其指派唯一識別碼以及時間和參與者,並加以追蹤。 認可會為所有檢閱檔案或連結項目之歷程記錄的人員提供清楚的稽核記錄,例如問題或提取要求。
在 Git 存放庫中,檔案可以存在於數個有效狀態,因為它會經歷版本控制程序。 Git 存放庫中檔案的主要狀態是未追蹤和已追蹤。
未追蹤:當檔案還不屬於 Git 存放庫時,檔案的初始狀態。 Git 不知道其存在。
已追蹤:已追蹤檔案是 Git 正在主動監視的檔案。 可以處於下列其中一個子狀態:
- 未修改:會追蹤檔案,但是自從上次認可後尚未修改。
- 已修改:檔案自從上次認可後已變更,但是這些變更尚未暫存於下一個認可。
- 已暫存:已修改檔案,並將變更新增至暫存區域 (也稱為索引)。 這些變更已準備好認可。
- 已認可:檔案位於存放庫的資料庫中。 代表檔案的最新認可版本。
這些狀態和子狀態對於與小組共同作業,以了解每個認可在專案程序中的位置非常重要。 現在讓我們繼續提取要求。
什麼是提取要求?
提取要求是用來發出訊號的機制,其會指出來自某個分支的認可已準備好合併到另一個分支。
提交提取要求的小組成員會要求一或多名檢閱者驗證程式碼,並核准合併。 這些檢閱者有機會對變更加上註解、新增自己的,或使用提取要求本身進行進一步討論。
一旦變更已獲核准 (如果需要) 後,提取要求的來源分支 (比較分支) 就會合併到基礎分支。
既然我們知道所有成分,讓我們檢閱 GitHub 流程。
GitHub 流程
GitHub 流程可以定義為輕量型工作流程,允許安全實驗。 您可以使用分支、提取要求和合併,來測試新想法以及與小組的共同作業。
現在我們知道 GitHub 的基本概念,我們可以逐步執行 GitHub 流程及其元件。
- 首先建立一個分支,以便您建立的變更、功能和修正不會影響主分支。
- 接下來,進行您的變更。 建議您在合併至主分支之前,先將變更部署到您的功能分支。 這樣做可確保變更在實際執行環境中有效。
- 現在,建立一個提取要求以要求共同作業者提供意見反應。 提取要求檢閱非常有價值,因此某些存放庫需要核准檢閱,才能合併提取要求。
- 然後檢閱並實作您的共同作業者的意見反應。
- 一旦您對您的變更感到滿意,就可以核准您的提取要求並將其合併到主分支中。
- 最後,您可以刪除您的分支。 刪除您的分支表示您在該分支上的工作已完成,並防止您或其他人意外使用舊分支。
就是這樣,您已經完成了一個 GitHub 流程週期了!
讓我們移至下一節,我們將會討論問題和討論之間的差異。