僅當您可以快速訪問資料時,本地存盤庫才會很快。NFS 上的存盤庫通常比同一服務器上的 SSH 存盤庫慢,這允許 Git 運行每個系統上的本地磁盤。
Scott Chacon 和 Ben Straub,Pro Git(紐約:Apress,2014 年),第一章。4、https://git-scm.com/book/en/v2。
在上面參考的第二句話中,是什么讓 Git 能夠“在每個系統上運行本地磁盤”?換句話說,-ing分詞從句的隱含主語是什么?它是“NFS 上的存盤庫”嗎?
uj5u.com熱心網友回復:
換句話說,-ing分詞從句的隱含主語是什么?
(注意:這更像是一個英語用法問題。)從語法上講,我想說參考的文字有點草率:您要問的主題實際上是“Git 的分布式性質”,它在參考的文字中沒有出現.
Git 存盤庫的分布式特性意味著您可以克隆存盤庫,從存盤庫的某個服務器版本復制所有提交1。一旦您在本地擁有了整個提交集,您就可以在本地以本地機器的速度處理這些提交。本地驅動器(現在通常是 SSD)可能非常快,這一事實會有所幫助。
在 1980 年代,當 NFS 被發明時,我們的磁盤驅動器很慢(20 毫秒的訪問時間被認為是快速的?)。我們有 SASI 和早期的 SCSI 驅動器,大概有 100 到 300 MB,以 3600 RPM 或更慢的速度旋轉。同時,像Sun 3/50這樣的臺式計算機最多有 4兆?位元組的 RAM(不是 4千兆位元組,只有 4 MiB)。使用 10 Mbit/s 的以太網,與從旋轉介質讀取檔案相比,通過以太網線讀取檔案的速度并不慢,大型服務器可能有 32 MiB 的 RAM 用于快取檔案資料,并且可以使用多個 600 MB 的巨大驅動器(例如,富士 SuperEagle 或更大)。結果,許多 3/50 都“無盤”了。
當然,計算世界是一個無限回圈的概念回圈:“云存盤”現在是一件大事。?? 規模擴大——存盤幾 PB?沒什么大不了!現在,如果您想要十幾個EB,那么您就是在談論真正的金錢——但是這些想法會再次出現。
1請注意,克隆不會復制分支名稱。不過沒關系,因為分支名稱無關緊要:只有提交很重要。克隆程序獲取服務器的分支名稱并將它們轉換為遠程跟蹤名稱——Git 呼叫這些遠程跟蹤分支名稱,但我發現這里的分支這個詞有負值——這樣你就可以通過服務器的分支名稱找到提交,使用,例如,origin/feature/tall而不是分支名稱feature/tall。
(然后,您自己的 Git 軟體會使用這些遠程跟蹤名稱來根據需要創建您的分支名稱。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/453497.html
標籤:混帐
