repo 基本使用

前言

Android 使用 Git 作为代码管理工具,开发了 Gerrit 进行代码审核以便更好的对代码进行集中式管理,还开发了 repo 命令行工具,实际上python指令对git的一层封装,对 git 部分命令封装,将百多个 git 库有效的进行组织,因为源码仓库数量庞大,使用git进行管理会带来很多不便,这里repo就体现了其优越性。

一、安装

创建目录和修改环境变量

$ mkdir ~/bin
$ PATH=~/bin:$PATH

下载repo代码

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

二、帮助

repo help

查询具体命令的帮助
repo help <COMMAND>

Repo 仓库状态
repo help init

状态
repo status .

三、初始化

$ repo init -u <URL> [<OPTIONS>]

示例

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
 
repo init -u https://android.googlesource.com/platform/manifest

这个命令会在当前文件夹创建一个 .repo/ 文件夹,它包含

  • repo/ : 其实是一个repo的python源码
  • manifest.xml : 工作树的主配置文件,不要编辑这个文件
  • projects/ : 每个git工程的 .git结构
  • local_manifest.xml : 这个文件不是repo创建的,你可以创建这个文件来代替主配置文件,也就是临时测试用用

选项:

  • -u: 指定manifest仓库地址
  • -m: 选择仓库中某个manifest文件,如果没有设置,就使用default.xml
  • -b: 指定一个分支或修正版本

四、sync 同步所有项目文件

repo sync [project-list]

下载新的更改并更新本地环境中的工作文件。如果您在未使用任何参数的情况下运行 repo sync,则该操作会同步所有项目的文件。

运行 repo sync 后,将出现以下情况:

  • 如果目标项目从未同步过,则 repo sync 相当于 git clone。远程代码库中的所有分支都会复制到本地项目目录中。

  • 如果目标项目以前同步过,则 repo sync 相当于以下命令:
    git remote update
    git rebase origin/branch
    其中 branch 是本地项目目录中当前已检出的分支。如果本地分支没有在跟踪远程代码库中的分支,则相应项目不会发生任何同步。

  • 如果 git rebase 操作导致合并冲突,请使用常规 Git 命令(例如 git rebase --continue)来解决冲突。

repo sync 运行成功后,指定项目中的代码即处于最新状态,已与远程代码库中的代码同步。

选项:

  • -j
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值