實作分支工作流程
分支是存放庫的複本。 分支存放庫可讓您實驗變更,而不會影響原始專案。
分支最常用來對他人的專案提議進行變更。 或者,使用其他人的專案作為想法的起點。
分支是存放庫的完整複本,包括所有檔案、認可與 (選用) 分支。
分支是支援內部來源工作流程的絕佳方式:若您沒有直接寫入原始專案的權限,您即可建立分支來提議變更。
當您準備好共用這些變更後,使用提取要求即可輕鬆提供這些變更。
分支中有哪些內容?
分支會以其上游 (原始) 存放庫的所有內容作為起點。
您可以納入所有分支,或在建立分支時,將其限制為僅納入預設分支。
不會套用任何權限、原則或組建管道。
新的分支就像有人複製原始存放庫,然後將其推送至新的空白存放庫。
建立分支後,除非連同這些分支一起提取要求 (PR),否則存放庫之間不會共用新的檔案、資料夾與分支。
在分支之間共用程式碼
您可以透過任一方向建立 PR:從分支到上游或從上游到分支。
最常見的方法是從分支到上游。
目的地存放庫的權限、原則、組建與工作項目會套用至 PR。
在分支 (branch) 與分支 (fork) 之間選擇
若為小型小組 (2-5 位開發人員),建議您在單一存放庫中工作。
每個人都應該在主題分支中工作,且主要應該受到分支原則的保護。
隨著您的小組重要性增加,您可能會發現這樣的安排不足,並希望切換至分支工作流程。
如果您的存放庫有許多隨意或不常用的委員會 (例如開放原始碼專案),建議您使用分支工作流程。
一般而言,只有您專案的核心參與者具有您存放庫的直接認可權限。
如果您要求核心人員以外的共同作業者從存放庫分支工作,這有所助益。
此外,它會將其變更與您的變更區隔,直到您有機會確認工作為止。
分支工作流程
- 建立分支。
- 在本機複製。
- 在本機進行變更,並將其推送至分支。
- 建立並完成上游的 PR。
- 將分支同步至上游的最新分支。
建立分支
- 瀏覽至存放庫以分支並選擇分支。
- 指定名稱,然後選擇您要在其中建立分支的專案。 如果存放庫包含許多主題分支,建議您建立分支時只僅納入預設分支。
- 選擇省略號,然後選擇 [分支] 以建立分支。
注意
您必須擁有所選專案中的 [建立存放庫] 權限,始可建立分支。 建議您建立分支專用的專案,且所有參與者均有建立存放庫的權限。 如需授與此權限的範例,請參閱設定 Git 存放庫權限。
在本機複製您的分支
一旦分支準備就緒,請使用命令列或 IDE 進行複製,例如 Visual Studio。 分支將會是您的原點遠端。
為了便於使用,您在複製後會想要將上游存放庫 (即您建立分支之處) 新增命名為上游的遠端存放庫。
git remote add upstream {upstream_url}
進行與推送變更
您可能直接在主要存放庫中工作,畢竟此分支是存放庫的複本。
不過,我們仍建議您在主題分支中工作。
這可讓您同時維護多個獨立的工作流。
此外,此做法也能在您稍後想要將變更同步至您的分支時減少混淆。
像平常一樣進行並認可您的變更。 當您完成變更時,請將變更推送至原點 (您的分支)。
建立並完成 PR
從分支開啟提取要求至上游。 所有需要檢閱者與組建的原則都會套用在上游存放庫。 滿足所有原則後,即可完成 PR,且變更會成為上游存放庫的永久內容。
重要
具有讀取權限的任何人都可以將 PR 開啟至上游。 如果已設定 PR 組建管線,則將會針對分支中引進的程式碼執行組建。
將您的分支同步至最新分支
當您將 PR 接受到上游時,您會想要確認分支反映存放庫的最新狀態。
我們建議重新處理上游的主分支 (假設主分支為主要開發分支)。
git fetch upstream main
git rebase upstream/main
git push origin
分支工作流程可讓您區隔主要存放庫的變更,直到您準備好進行整合為止。 當您準備好時,只需完成提取要求便可輕鬆整合程式碼。