描述具有分支的內部來源
當使用者想要變更其沒有寫入權限之存放庫中的程式碼時,他們會對該存放庫進行分支。
如果您沒有寫入權限,便代表您不是參與該存放庫的小組成員,那您為何會想要修改程式碼存放庫?
我們通常會尋找技術原因來改善我們工作中的某些東西。
您可以透過參與或改善某個現有功能,來找到實作解決方案或強化功能性的更佳方式。
您可以在下列情況下對存放庫進行分支:
- 我想要做出變更。
- 我認為該專案很有趣,且可能會想要使用。
- 我想要使用該存放庫的某些程式碼作為我自己專案的起點。
我們會鼓勵軟體小組參與內部所有專案,而非只是他們自己的軟體專案。
分支是養成內部開放原始碼文化的絕佳方式。
分支最近才新增至 Azure DevOps Git 存放庫。
此配方能教導您如何對現有的存放庫進行分支,並透過提取要求向上游貢獻變更。
準備就緒
分支會以其上游 (原始) 存放庫的所有內容作為起點。
當您在 Azure DevOps 中建立分支時,您可以包括所有分支,或將其限制為僅包括預設分支。
分支並不會複製要進行分支之存放庫的權限、原則或組建定義。
建立分支 (Fork) 之後,除非您啟動提取要求,否則不會在存放庫之間共用新建立的檔案、資料夾及分支 (Branch)。
提取要求支援雙向進行:從分支到上游,或是從上游到分支。
最常見的提取要求方式是從分支到上游。
如何執行此動作
選擇 [分支] 按鈕 (1),然後選取您想要建立分支的專案 (2)。 為您的分支命名,然後選擇 [分支] 按鈕 (3)。
一旦您的分支準備就緒,請使用命令列或 IDE (例如 Visual Studio) 加以複製。 分支將會是您的原點遠端。 為了方便起見,建議您將上游存放庫 (即您分支的來源) 新增為名為 upstream 的遠端。 在命令列上,輸入:
git remote add upstream {upstream_url}
您可以直接在主分支中工作,這個分支是您的存放庫複本。 不過,我們仍建議您在主題分支中工作。 這可讓您同時維護多個獨立的工作流。 此外,此做法也能在您稍後想要將變更同步至您的分支時減少混淆。 像平常一樣進行並認可您的變更。 當您完成修改時,將它們推送至您的原點 (您的分支)。
從分支開啟提取要求至上游。 上游存放庫會套用檢閱者和組建所需的所有原則。 滿足所有原則後,便能完成 PR,且這些變更將會成為上游存放庫的永久內容:
當您的 PR 在上游被接受時,您必須確定分支反映最新的存放庫狀態。 我們建議針對上游的主分支 (這是假設主分支是存放庫的主要開發分支) 進行基底重訂。 在命令列上,執行:
git fetch upstream main git rebase upstream/main git push origin
如需 Git 的詳細資訊,請參閱: