雖然 git 中有“默認分支名稱”的概念,但我在git 檔案或Pro Git book 中沒有看到任何提及“默認分支”的內容。
但是,我確實在GitHub和GitLab等 git 托管平臺中看到了“默認分支”的提及。
那么,vanilla git 中是否有“默認分支”的概念?或者它只是 git 托管平臺使用的一個概念?
uj5u.com熱心網友回復:
在 git 的模型中,沒有特殊的“服務器”或“中央”存盤庫。當您克隆一個存盤庫時,git 將默認檢出該其他存盤庫上檢出的任何分支。更具體地說,它會將.git/HEAD檔案從另一個存盤庫復制到新的克隆中。
最基本的,一個 git 服務器(包括 Github 和 GitLab 等托管平臺)就是 git 所謂的“裸存盤庫”,它包含通常在.git目錄中的所有檔案,但沒有作業副本。請參閱Pro Git 書中的手冊git clone --bare和“服務器上的 Git”。
這意味著存盤庫仍然有一個名為的檔案HEAD,其中包含對“當前”分支的參考。當您從服務器執行克隆時,會將參考復制到您的新.git/HEAD. 因此,它充當新克隆的“默認分支”,但在 git 的術語中,它實際上是“當前”分支。
管理 UI 通常也使用它作為設定檔案瀏覽器中顯示的默認分支、拉取/合并請求的默認目標等的便捷方式。
uj5u.com熱心網友回復:
最接近的似乎是init.defaultBranch config entry。
它允許設定將git init用于第一個提交/分支的名稱。(另見此處)
此引數的默認值為master。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/313247.html
上一篇:谷歌圖示服務:GitHub
