Microsoft 稍早在 Git-Merge 2017 發表了 GVFS!
顧名思義其實就是把 git 底層做為 file system。原因是在開發大型軟體時的 codebase 太過龐大,像 Windows 就超過 350 萬個檔案而且大小合計超過 270 GB,所以在執行 checkout(3 小時), status(10 分鐘), clone(超過 12 小時) 這類讀取或切換內容時的指令都要花費超多時間,所以改善了 git 無法處理這種超大型 repo 的問題。用了 GVFS 之後,以上幾個指令大幅減少到 30 秒、5 秒、幾分鐘左右。
不過也因為加了 GVFS 這層上去,所以原本 git 指令的底層也做了一些調整。如果要用 GVFS 的話,記得要使用 Microsoft 自己改過的 git 才可以。另外,現在僅支援 Windows,Linux 跟 macOS 要再等等了 (https://github.com/Microsoft/GVFS/issues/4),所以小編現在也沒辦法測試 Orz
PS. 其實之前就看過許多由 git 底層組成的 file system,列在下面大家也可以看看。
* https://github.com/Microsoft/gvfs
* https://github.com/g2p/git-fs
* https://github.com/PressLabs/gitfs
#microsoft #gvfs #git #gitmerge
Search