開源Git專案現在剛釋出了Git 2.25,而這個版本加入了新的實驗性稀疏簽出指令Git sparse-checkout,這個指令可提升大型儲存庫的操作效能,結合部分複製功能(Partial Clone),則更可加快資料傳輸速度。

當開發者的儲存庫根目錄有過多的檔案,而使得Git checkout或是Git status等指令執行過慢,這個問題對於只想要修改一小部分檔案的開發人員來說,可能非常困擾。而Git 2.25新加入的稀疏簽出功能,讓開發者將工作目錄只限制在要使用的檔案上,具體而言,當開發者在單一儲存庫中放置所有微服務的程式碼,就能使用稀疏簽出讓開發流程盡可能維持順暢,同時受益於單一儲存庫所帶來的優點。

而過去,要使用稀疏簽出功能,開發者需要手動編輯.Git目錄中的檔案,更改設定並執行複雜的指令,而當要恢復至原本的設定,手續則更加麻煩,新的Git sparse-checkout指令讓過程變得簡單,開發者要先執行初始化Git sparse-checkout init --cone,Git貢獻者Derrick Stolee提到,這個初始化子命令是必要的配置選項,用來指示Git系統只在根目錄配對檔案,而接下來在以子命令Git sparse-checkout set設定模式,以模式修改稀疏簽出檔案,以配對在指定目錄中的檔案。

另外,Git 2.25中的部分複製功能也已經可用,所有開發者都可以配置使用。由於Git儲存庫的副本會複製所有的資料,包括每個檔案的每個版本,而對於非常龐大的儲存庫來說,即便用戶只想存取其中一部分的檔案,也要花費極高的網路與儲存資源,甚至可能還無法使用,而Git部分複製功能,則可以讓開發者複製和使用部分儲存庫的內容。

將稀疏簽出和部分複製功能搭配使用,可以加快開發工作流程,Derrick Stolee表示,當開發者不需要每一個Git物件,僅下載需要的目錄檔案,可以加快整個資料傳輸過程。不過目前GitHub仍在評估部分複製的功能,GitHub官方提到,當該功能穩定且成熟,會逐步釋出更新的進度。

Git開發團隊在接下來的計畫,會持續改進複製和稀疏模式的使用體驗,也會提供新增與移除子命令,同時還也新增stats子命令,以非稀疏工作目錄的總大小,來衡量實際要操作的目錄大小。

熱門新聞

Advertisement