当前位置: 首页 > news >正文

Repo命令使用

repo 命令与 git 类似,但它主要用于管理多个 Git 仓库的操作。以下是等效的 repo 命令:


1. 获取新仓库代码

克隆仓库

repo init -u <manifest_url> -b <branch_name>
repo sync
  • repo init:初始化 repo,指定远程清单 (manifest) 仓库的 URL 和分支。
  • repo sync:同步所有仓库的代码,相当于 git clone

切换分支

repo forall -c 'git checkout <branch_name>'
  • 切换所有仓库到指定分支。
  • 如果只想切换某个子仓库,进入目录后使用 git checkout <branch_name>

确认当前分支

repo forall -c 'git branch'
  • 显示所有子仓库的当前分支。

查看代码是否是最新

repo forall -c 'git status'
  • 显示本地修改和远程差异。

拉取远程分支代码

repo forall -c 'git pull origin <branch_name>'
  • 相当于 git pull,拉取所有子仓库的最新代码。

2. 创建新分支

创建并切换新分支

repo forall -c 'git checkout -b <new_branch_name>'
  • 创建并切换所有子仓库到新分支。

确认当前分支

repo forall -c 'git branch' 
repo forall -c 'git branch -r'
  • 分别查看本地和远程分支。

3. 提交代码

查看修改的文件

repo forall -c 'git status'

恢复文件到远程版本

repo forall -c 'git restore <file>'
  • 还原特定文件到远程版本。

添加文件

repo forall -c 'git add .' 
repo forall -c 'git add *.c *.h'
  • 添加所有文件,或者仅添加 .c.h 文件。

取消添加文件

repo forall -c 'git reset' 
repo forall -c 'git reset *.c *.h' 
repo forall -c 'git reset <file1> <file2>'
  • 取消暂存文件。

提交代码

repo forall -c 'git commit -sm "refactor: 增加处理逻辑"'
  • 提交所有子仓库的代码。

撤销上一次提交

repo forall -c 'git reset --soft HEAD~1'
  • 撤销上一次提交,但保留更改。

推送代码并创建合并请求

repo forall -c 'git push origin HEAD:mr/test/test2'
  • test:目标分支。
  • test2:临时分支。

如果使用 Gerrit:

repo upload .
  • 发送提交到代码审核系统(Gerrit)。

4. 删除远程文件

repo forall -c 'git rm <file1> <file2>' 
repo forall -c 'git commit -m "Remove unused files"' 
repo forall -c 'git push origin <branch_name>'
  • 删除文件并提交到远程。

5. 删除分支

删除本地分支

repo forall -c 'git branch -d <branch_name>'

删除远程分支

repo forall -c 'git push origin --delete <branch_name>'

查看分支

repo forall -c 'git branch -r' 
repo forall -c 'git branch' 
repo forall -c 'git branch -a'
  • 分别查看远程、本地、所有分支。

6. 常用命令

丢弃本地未提交的更改

repo forall -c 'git reset --hard'
  • 丢弃所有未提交的更改。

切换回上一个分支

repo forall -c 'git checkout -'

暂存未提交的更改

repo forall -c 'git stash' 
repo forall -c 'git stash pop'
  • stash:暂存更改。
  • pop:恢复更改。

比较本地和远程的差异

repo forall -c 'git diff origin/<branch_name>'
  • 比较本地和远程分支的差异。

这样你可以用 repo 统一管理多个 Git 仓库,简化操作流程。

相关文章:

  • 【Elasticsearch】token filter分词过滤器
  • MongoDB 扩缩容实战:涵盖节点配置、服务启动与移除操作
  • Centos7安装Tesseract5.5.0+SpringBoot集成部署(离线版)
  • 初识计算机网络
  • 企语企业管理系iFair(F23.2_a0)在Debian操作系统中的安装
  • 在Mac M1上面安装Miniconda
  • 【AI】在Ubuntu中使用docker对DeepSeek的部署与使用
  • 【Android开发】安卓手机APP拍照并使用机器学习进行OCR文字识别(完整工程资料源码)
  • Python 识别图片和扫描PDF中的文字
  • Elasticsearch+Logstash+Kibana可视化集群部署
  • 将Mac上Python程序的虚拟环境搬到Windows
  • 简述mysql 主从复制原理及其工作过程,配置一主两从并验证
  • 学习threejs,使用HemisphereLight半球光
  • 【DuodooBMS】给PDF附件加“受控”水印的完整Python实现
  • Java内存模型,内存屏障是干嘛的?
  • 2024年认证杯SPSSPRO杯数学建模A题(第二阶段)保暖纤维的保暖能力全过程文档及程序
  • 在nodejs中使用RabbitMQ(三)Routing、Topics、Headers
  • RocketMQ、RabbitMQ、Kafka 的底层实现、功能异同、应用场景及技术选型分析
  • Ubuntu 如何安装Snipaste截图软件
  • vue渲染函数用法示例
  • 2025上海十大动漫IP评选活动启动
  • 习近平会见斯洛伐克总理菲佐
  • 2025年度上海市住房城乡建设管理委工程系列中级职称评审工作启动
  • 2025年上海市模范集体、劳动模范和先进工作者名单揭晓
  • 阿里CEO:将以饱和式投入打法,聚焦几大核心战役
  • 美英达成贸易协议,美股集体收涨