背景
有時候本地需要維護多份代碼,其中大部分是相同的。
repo
有提供 mirror
功能,可以幫助減少多份相同代碼的下載時間和本地磁盤占用。
使用方式
- 建立一個本地
mirror
就是正常的 repo init xxx
命令,加上 --mirror
參數。然后 repo sync
即可。
得到的這個 repo mirror
不能用於正常開發,就是專用作 mirror
功能的,里面是很多的 xxx.git
- 下載時指定
reference
需要下載代碼時,在正常的 repo init xxx
命令后加上 --reference <mirror path>
, <mirror path>
是本地的 mirror
路徑。
實測效果
實測建立了 mirror
之后,使用 reference
功能下載的代碼,空間占用從 17G
下降到了 12G
,當然 mirror
本身也占用了空間。所以必須 SDK
副本必須足夠多才會真正起到節省空間的作用。
對於多人共用一台服務器的情況,在服務器上建立一個公共 mirror
,每個人再基於 mirror
下載自己的代碼,是比較合適的。
其他
其實本地保存多份完整副本是比較浪費的,但有時候在一份代碼上用多個分支切換確實不方便。
最近還看到一個 git worktree
功能,待具體學習實踐。