`repo` 工具(用于管理多个 Git 仓库)的常用命令整理

以下是关于 repo 工具(用于管理多个 Git 仓库)的常用命令整理:


1. 初始化和配置

命令说明
repo init -u <MANIFEST_URL> -b <BRANCH>初始化 Repo 仓库,指定 manifest 仓库地址和分支
repo init --depth=1浅克隆(仅拉取最近提交,节省空间)
repo init -m <MANIFEST_FILE>使用指定的 manifest 文件(默认 default.xml
repo init --repo-url=<REPO_TOOL_URL>指定 Repo 工具自身的仓库地址

示例:

repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r1

2. 同步代码

命令说明
repo sync同步所有项目代码(拉取最新)
repo sync <PROJECT1> <PROJECT2>仅同步指定项目
repo sync -j4多线程同步(例如 4 个线程)
repo sync -c仅同步当前分支代码(--current-branch
repo sync -d切换回 manifest 指定的提交(--detach

3. 分支管理

命令说明
repo start <BRANCH_NAME> --all为所有项目创建新分支
repo start <BRANCH_NAME> <PROJECT>为指定项目创建分支
repo branches查看所有项目分支状态
repo checkout <BRANCH_NAME>切换所有项目到指定分支
repo abandon <BRANCH_NAME>删除所有项目的指定分支

4. 提交代码

命令说明
repo upload推送本地提交到代码审核系统(如 Gerrit)
repo upload <PROJECT>仅推送指定项目
repo upload --reviewers=<EMAIL>指定评审人
repo forall -c 'git commit -a -m "Message"'在所有项目中执行提交操作

5. 查看状态和差异

命令说明
repo status查看所有项目的文件修改状态
repo diff查看所有项目的代码差异
repo forall -c 'git log --oneline'查看所有项目的提交历史

6. 切换版本和清理

命令说明
repo forall -c 'git reset --hard'重置所有项目的修改
repo forall -c 'git clean -dfx'清理所有项目的未跟踪文件
repo sync --force-sync强制覆盖本地代码

7. 其他常用命令

命令说明
repo list列出所有管理的项目
repo info显示 Repo 和 Git 的版本信息
repo prune删除已合并的分支
repo grep <PATTERN>在所有项目中搜索代码模式

8. 高级操作

命令说明
repo manifest -r -o manifest.xml导出当前 manifest 文件
repo forall -c 'git fetch origin'为所有项目执行 git fetch
repo selfupdate更新 Repo 工具自身

常见场景示例

场景 1:拉取最新代码并创建开发分支
repo sync -j8
repo start dev-feature --all
场景 2:提交所有修改并推送审核
repo forall -c 'git add -A && git commit -m "Fix bugs"'
repo upload --reviewers=alice@example.com
场景 3:回退到指定版本
repo sync -d  # 强制同步到 manifest 指定的提交
repo forall -c 'git reset --hard'  # 清除本地修改

如果有特定场景或更复杂的需求(如定制 manifest),可以进一步补充说明!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值