1 同步
1.1 将本地仓库更新到最新状态。它会从远程服务器下载最新的代码,并将本地仓库与之同步。如果本地仓库中已经存在某个项目,repo sync会自动检测本地仓库中该项目的版本,并将其更新到最新状态。
类似于git fetch和git merge命令组合使用。它会更新所有远程分支,并将本地仓库合并到最新状态
repo sync
1.2 将本地仓库的代码与本地manifest文件所列的代码同步。它不会从远程服务器下载最新的代码,而是使用本地的缓存,将本地仓库中各个项目的代码回滚到本地manifest文件中所列出的特定版本或分支。这对于调试、测试或开发时离线工作很有用。
类似于git checkout命令,可以将本地仓库恢复到指定的分支或标签。但与git checkout不同的是,repo sync -l会同时更新所有依赖的存储库,从而确保各个存储库之间的版本兼容性
repo sync -l
1.3 只同步当前分支的代码,并且不下载标签
类似于git fetch --depth=1命令,它只会下载当前分支的最新代码,而不会下载任何标签。这可以减少下载的数据量,提高同步速度
repo sync -c --no-tags
2 初始化
repo init --no-clone-bundle --repo-url https://gitlab.com/firefly-linux/git-repo.git --no-repo-verify -u https://gitlab.com/firefly-linux/manifests.git -b master -m rk356x_linux_release.xml
–no-clone-bundle:不要使用预先打包好的Git存储库。在克隆大型存储库时,使用此选项可以节省时间和带宽 –repo-url https://gitlab.com/firefly-linux/git-repo.git:这个选项用于指定repo工具自身的URL,即repo工具的下载地址 –no-repo-verify:这个选项告诉repo不要验证repo工具的签名。如果您相信从指定的repo URL下载的repo工具是可信的,则可以使用此选项加快初始化过程 -u https://gitlab.com/firefly-linux/manifests.git:这个选项用于指定Android源码清单的URL,即清单文件所在的Git存储库的地址 -b master:这个选项用于指定要初始化的分支,这里是master分支 -m rk356x_linux_release.xml:这个选项用于指定要使用的清单文件,这里是rk356x_linux_release.xml