Git在2025年初推出了2.48版本,這是今年的首次更新,涵蓋多項提升效能並改善內部結構的功能強化,提供開發者更穩定的版本控制工具。該版本的重要更新包括改進SHA-1校驗碼的計算方式,並解決長期存在的記憶體洩漏問題,以及進一步改進range-diff的功能支援,提供更高效與精確的版本控制功能。

Git的SHA-1校驗碼計算方式是其維持資料完整性的重要基礎,Git的資料封包結構包含了所有被打包物件的內容,並在封包結尾附加了一個SHA-1校驗碼,可用於驗證整個封包的完整性,確保資料在傳輸過程沒有毀損。

新版本Git中,針對資料封包尾部的校驗碼計算進行了性能強化。由於尾部校驗碼的主要功能是驗證資料完整性,而非防禦安全性攻擊,因此這項改進能夠在不犧牲安全性的情況下,顯著縮短運算時間。測試顯示,此改進在處理大型儲存庫,如Linux核心程式碼的複製過程,效能提升可達10%至13%,對於需要頻繁操作大型專案的開發者特別有幫助。

本次更新的另一重點在於解決記憶體的洩漏問題。雖然官方指出,記憶體洩漏對Git這類短時間執行的命令列工具影響有限,但其存在的確是阻礙了將內部邏輯模組化為可呼叫的函式庫。因此從Git 2.34版本開始,開發團隊花費大量努力消除記憶體洩漏,最終在2.48版本中完成工作。此更新讓Git測試環境能在啟用記憶體檢測的情況下完整通過測試,並簡化了測試基礎設施,也替未來的架構轉型奠定了基礎。

在功能強化方面,Git 2.48將--remerge-diff與range-diff兩大指令整合。range-diff功能在2.19版本加入,主要用於比較兩組提交紀錄的差異,包括提交順序、提交訊息及內容變更。而2.36 版本則是推出remerge-diff,能讓開發者在檢視重整提交的變更時,能同時深入分析合併提交中衝突的細節及其解決方式。Git藉由將兩功能合併,進一步提升版本變更分析的精確性與實用性。

Git 2.48也添加了Meson作為編譯系統替代選項,Meson是一種較GNU Make更為現代化的建置選項。Git一直以來都是採用GNU Make作為主要建置工具,但隨著專案規模的擴大,其Makefile已變得過於龐大且複雜,Meson的加入將有助於改善此情況。Meson提供更簡單的建置流程,並支援跨平臺與IDE整合。目前,Git同時提供Meson與GNU Make,保留對CMake和Autoconf的支援,確保不同開發者群體的需求能被滿足。

熱門新聞

Advertisement