repo smartsync
命令用于智能同步指定的项目,结合了多种更新策略。
参数分类及解释
基本命令
repo smartsync
:用于智能同步项目。
1. 帮助和基本选项
- -h, --help
- 显示帮助信息并退出。
- 示例:
repo smartsync --help
2. 作业管理
-
-j JOBS, --jobs=JOBS
- 设置同时运行的作业数量,默认为 0,表示使用所有可用 CPU 核心。
- 示例:
repo smartsync -j 4
-
--jobs-network=JOBS
- 设置并行网络作业的数量,默认是
--jobs
或 1。 - 示例:
repo smartsync --jobs-network=2
- 设置并行网络作业的数量,默认是
-
--jobs-checkout=JOBS
- 设置本地检出的并行作业数量,默认为 8。
- 示例:
repo smartsync --jobs-checkout=3
3. 同步行为
-
--fail-fast
- 在遇到第一个错误时停止同步。
- 示例:
repo smartsync --fail-fast
-
--force-sync
- 强制覆盖现有的 Git 目录,可能导致数据丢失。
- 示例:
repo smartsync --force-sync
-
--force-checkout
- 强制检出,丢弃未提交的修改,可能导致数据丢失。
- 示例:
repo smartsync --force-checkout
-
--force-remove-dirty
- 强制删除具有未提交修改的项目。
- 示例:
repo smartsync --force-remove-dirty
-
--rebase
- 对本地提交进行变基,即使它们未被发布。
- 示例:
repo smartsync --rebase
-
-l, --local-only
- 仅更新本地工作树,不进行网络抓取。
- 示例:
repo smartsync -l
-
-n, --network-only
- 仅执行网络抓取,不更新工作树。
- 示例:
repo smartsync -n
4. 清单管理
-
-m NAME.xml, --manifest-name=NAME.xml
- 使用指定的临时清单进行同步。
- 示例:
repo smartsync -m my_manifest.xml
-
--no-manifest-update, --nmu
- 使用现有的清单,不更新到最新版本。
- 示例:
repo smartsync --no-manifest-update
-
-d, --detach
- 将项目分离回清单版本。
- 示例:
repo smartsync -d
5. 分支管理
-
-c, --current-branch
- 仅抓取当前分支。
- 示例:
repo smartsync -c
-
--no-current-branch
- 抓取所有分支。
- 示例:
repo smartsync --no-current-branch
6. 服务器选项
-
-u MANIFEST_SERVER_USERNAME
- 清单服务器的用户名。
- 示例:
repo smartsync -u myusername
-
-p MANIFEST_SERVER_PASSWORD
- 清单服务器的密码。
- 示例:
repo smartsync -p mypassword
7. 子模块管理
-
--fetch-submodules
- 从服务器抓取子模块。
- 示例:
repo smartsync --fetch-submodules
-
--use-superproject
- 使用清单的超级项目进行同步,隐含
-c
。 - 示例:
repo smartsync --use-superproject
- 使用清单的超级项目进行同步,隐含
-
--no-use-superproject
- 禁用使用清单的超级项目。
- 示例:
repo smartsync --no-use-superproject
8. 标签管理
-
--tags
- 抓取标签。
- 示例:
repo smartsync --tags
-
--no-tags
- 默认不抓取标签。
- 示例:
repo smartsync --no-tags
9. 优化和清理
-
--optimized-fetch
- 仅在修订版本不存在本地时抓取固定到 SHA1 的项目。
- 示例:
repo smartsync --optimized-fetch
-
--retry-fetches=RETRY_FETCHES
- 对暂时错误重试抓取的次数。
- 示例:
repo smartsync --retry-fetches=3
-
--prune
- 删除远程不再存在的引用(默认)。
- 示例:
repo smartsync --prune
-
--no-prune
- 不删除远程不再存在的引用。
- 示例:
repo smartsync --no-prune