在使用 repo sync 同步 Android 源碼時,能夠添加一些選項來減小同步時間和要下載的代碼空間。具體的命令是 repo sync -c --no-tags --prune -j 4
。git
查看 repo help status 的幫助信息,對所給的各個選項具體說明以下:服務器
例如服務器上新增了其餘分支,使用 -c 選項同步後,在本地 git 倉庫執行 git branch -r
命令看不到服務器新增的分支名。若是不加 -c 選項,那麼同步的時候,會打印 [new branch] 這樣的信息,使用 git branch -r
命令可查看到服務器新增的分支。多線程
--prune delete refs that no longer exist on the remote.
若是遠端服務器已經刪除了某個分支,在 repo sync 時加上 --prune
選項,能夠讓本地倉庫刪除對這個分支的跟蹤引用。 fetch
查看 repo 的 .repo/repo/project.py
源碼,這個選項其實是做爲 git fetch 命令的選項來執行。查看 man git-fetch 對自身 --prune
選項的說明以下,可供參考:線程
-p, --prune
After fetching, remove any remote-tracking references that no longer exist on the remote.
例如上面的 -j 4
指定用4個線程來同步。若是沒有提供該選項,默認是用2個線程。code
總的來講,在 repo sync -c --no-tags --prune -j 4
命令中,使用 -c 和 --no-tags 選項能夠減小須要同步的內容,從而減小要佔用的本地代碼空間,也能夠減小一些同步時間。server
使用 -j 選項來指定啓用多線程進行同步,能夠加快執行速度,也就減小了同步時間。 rem
使用 --prune 選項去掉已刪除分支的跟蹤引用,通常不會用到,這個選項可加可不加。同步