2013-12-10 61 views
2

git克隆是否爲本地機器上的所有分支機構創建每個單一源文件/版本的副本?git克隆複製所有源代碼?

或者它只是複製主,而所有的分支只是參考? (當你檢查一個分支,它下載提交該分支?)

基本上我想知道如果我有我的機器上的100個不同分支的來源,當我真的只想要一小撮。

謝謝。

回答

2

不,它獲取遠程存儲庫的完整歷史記錄。

它沒有得到的是配置和鉤子(它們不克隆,拉或推)。

它也不會爲克隆的每個遠程分支創建本地分支。
這就是爲什麼如果你克隆你的克隆(連續兩個克隆),你將最終只有一個分支。
git clone

  • 克隆的儲存庫到一個新創建的目錄中提到,
  • 用於克隆的庫中的每個分支(可見使用git branch -r)創建遠程跟蹤的分支處,
  • 創建並檢出從克隆存儲庫的當前活動分支分出的初始分支。
+0

感謝您的信息。那麼創建遠程追蹤分支是否意味着實際的代碼也在我的筆記本上呢?或者它是元數據,並且如果我簽出遠程分支,實際的代碼會被下載?對不起,速度很慢 - 儘管閱讀了文檔,但還是有點點擊,我正在努力闡明它。 – Aaron

+0

@Aaron實際的代碼在你的'.git'回購中。當您簽出分行時,您將使用本地'.git'回購代碼更新您的本地工作目錄。一切都是本地的。你可以完全拔掉你的wifi連接。直到你推回去的時候,所有事情都發生在本地。 – VonC

+0

好的,gottit謝謝。我想這只是在我的本地機器上存在整個存儲庫(就源文件而言),直到我只對整個存儲區中的2或3個分支機構感興趣時才覺得不直觀。 – Aaron

1

簡短的回答是,克隆後,你必須從主分支中的所有文件,但有當地完整的資料庫。這意味着您不必通過網絡訪問來檢出其他分支。