git克隆是否爲本地機器上的所有分支機構創建每個單一源文件/版本的副本?git克隆複製所有源代碼?
或者它只是複製主,而所有的分支只是參考? (當你檢查一個分支,它下載提交該分支?)
基本上我想知道如果我有我的機器上的100個不同分支的來源,當我真的只想要一小撮。
謝謝。
git克隆是否爲本地機器上的所有分支機構創建每個單一源文件/版本的副本?git克隆複製所有源代碼?
或者它只是複製主,而所有的分支只是參考? (當你檢查一個分支,它下載提交該分支?)
基本上我想知道如果我有我的機器上的100個不同分支的來源,當我真的只想要一小撮。
謝謝。
不,它獲取遠程存儲庫的完整歷史記錄。
它沒有得到的是配置和鉤子(它們不克隆,拉或推)。
它也不會爲克隆的每個遠程分支創建本地分支。
這就是爲什麼如果你克隆你的克隆(連續兩個克隆),你將最終只有一個分支。
如git clone
- 克隆的儲存庫到一個新創建的目錄中提到,
- 用於克隆的庫中的每個分支(可見使用
git branch -r
)創建遠程跟蹤的分支處,- 創建並檢出從克隆存儲庫的當前活動分支分出的初始分支。
簡短的回答是,克隆後,你必須從主分支中的所有文件,但有當地完整的資料庫。這意味着您不必通過網絡訪問來檢出其他分支。
感謝您的信息。那麼創建遠程追蹤分支是否意味着實際的代碼也在我的筆記本上呢?或者它是元數據,並且如果我簽出遠程分支,實際的代碼會被下載?對不起,速度很慢 - 儘管閱讀了文檔,但還是有點點擊,我正在努力闡明它。 – Aaron
@Aaron實際的代碼在你的'.git'回購中。當您簽出分行時,您將使用本地'.git'回購代碼更新您的本地工作目錄。一切都是本地的。你可以完全拔掉你的wifi連接。直到你推回去的時候,所有事情都發生在本地。 – VonC
好的,gottit謝謝。我想這只是在我的本地機器上存在整個存儲庫(就源文件而言),直到我只對整個存儲區中的2或3個分支機構感興趣時才覺得不直觀。 – Aaron