repo命令

repo通过git库管理项目的清单文件,git库名为manifests。

$ repo <COMMAND> 
//command:help、init、sync、upload、diff、download、forall、prune、start、status
$ repo init -u <URL>

-u 指定manifest的远程git库url
-m 指manifests库中的清单文件
-b指定manifests.xml文件中的一个版本

执行repo命令时,可以通过–trace参数,来看实际发生:

$ repo --trace init -u $URL -b $BRANCH -m $MANIFEST
$ repo sync 

第一次触发同步操作=git clone
已经触发过同步操作=git remote update &&git rebase origin/
就是当前与本地分支所关联的远程分支。
代码合并可能会产生冲突,当冲突出现时,只需要解决完冲突,然后执行git rebase --continue即可。

$ repo upload  //将本地的代码上传到远程服务器
$ repo download   TARGET  CHANGE

TARGET:upload是把改动内容提交到Gerrit,download是从Gerrit下载改动
CHANGE:指定要下载的PROJECT,譬如platform/frameworks/base, platform/packages/apps/Mms
指定要下载的改动内容。这个值是一个Review任务URL的最后几位数字。 譬如,AOSP的一个Review任务https://android-review.googlesource.com/#/c/23823/,其中23823就是。

$ repo forall [PROJECT_LIST] -c <COMMAND>
$ repo forall frameworks/base packages/apps/Mms -c "git status"

表示对platform/frameworks/base和platform/packages/apps/Mms同时执行git status命令。

$ repo prune [<PROJECT_LIST>]

删除指定PROJECT中,已经合并的分支

$ repo status [<PROJECT_LIST>]

查看多个git库的状态

$ repo start <BRANCH_NAME> [<PROJECT_LIST>]

切换到<BRANCH_NAME>指定的分支

开发流程:

   repo init    //初始化工程,指定待下载的分支
    repo sync   //下载代码
    repo start   //将本地git库切换到开发分支
     在本地进行修改,验证后,提交到本地
     repo upload   //上传到服务器,等待review

下载远程代码:

   $ repo sync -c   //只下载manifest中设定的分支

常用命令

repo init -u URL -b ........ // 创建.repo 
repo upload // 将代码提交到gerrit.
repo abandon master // 放弃master分支
repo forall -c "git reset --hard HEAD" // 所有代码执行git命令,回退到HEAD
// repo sync相当于git clone会把repository中的所有内容拷贝到本地,非首次运行repo sync相当于更新和合并.
// repo sync会更新.repo下面的文件,如果在merge的过程中出现冲突,这需要手动运行git rebase --continue.
repo sync -c -j 4 
repo start master --all // 创建新分支
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值