Repo 简介


1.Repo的作用

repo是Android为了方便管理多个git库而开发的Python脚本。Android源码包含数百个git库,仅仅是下载这么多git库就是一项繁重的任务,所以在下载源码时,Android就引入了repo。它的出现,并非为了取代git,而是为了让Android开发者更为有效的利用git。

2.Repo的使用

Repo的命令格式如下:

repo <COMMAND> <OPTIONS>

可选的的有:help、init、sync、upload、diff、download、forall、prune、start、status

###init###
repo init

  • -u:指定manifests这个远程git库的URL,manifests库是整个项目的清单。

  • -m, –manifest-name:指定所需要的manifests库中的清单文件。

  • -b, –manifest-branch:指定manifest.xml文件中的一个版本,也就是俗称的“分支”

###sync###

   repo sync

下载远程代码,并将本地代码更新到最新,这个过程称为“同步”。如果不使用任何参数,那么会对所有repo管理的进行同步操作;也可以指定若干要同步的PROJECT。 根据本地git库代码不同,同步操作会有不同的行为:

  • 当本地的git库是第一次触发同步操作时,那么,该命令等价于git clone,会将远程git库直接拷贝到本地

  • 当本地已经触发过同步操作时,那么,该命令等价于git remote update && git rebase
    origin/,就是当前与本地分支所关联的远程分支
    代码合并可能会产生冲突,当冲突出现时,只需要解决完冲突,然后执行git rebase --continue即可

当sync命令正确执行完毕后,本地代码就同远程代码保持一致了。在一些场景下,我们会用到sync命令的一些参数:

  • -j:开启多线程同步操作,这会加快sync命令的执行速度。默认情况下,使用4个线程并发进行sync

  • -c, –current-branch:只同步指定的远程分支。默认情况下,sync会同步所有的远程分支,当远程分支比较多的时候,下载的代码量就大。使用该参数,可以缩减下载时间,节省本地磁盘空间

  • -d, –detach:脱离当前的本地分支,切换到manifest.xml中设定的分支。在实际操作中,这个参数很有用,当我们第一次sync完代码后,往往会切换到dev分支进行开发。如果不带该参数使用sync,
    则会触发本地的dev分支与manifest设定的远程分支进行合并,这会很可能会导致sync失败

  • -f, –force-broken:当有git库sync失败了,不中断整个同步操作,继续同步其他的git库

  • –no-clone-bundle:在向服务器发起请求时,为了做到尽快的响应速度,会用到内容分发网络(CDN, Content
    Delivery Network)。同步操作也会通过CDN与就近的服务器建立连接,使用HTTP/HTTPS的 U R L / c l o n e . b u n d l e 来 初 始 化 本 地 的 g i t 库 , c l o n e . b u n d l e 实 际 上 是 远 程 g i t 库 的 镜 像 , 通 过 H T T P 直 接 下 载 , 这 会 更 好 的 利 用 网 络 带 宽 , 加 快 下 载 速 度 。 当 服 务 器 不 能 正 常 响 应 下 载 URL/clone.bundle来初始化本地的git库,clone.bundle实际上是远程git库的镜像,通过HTTP直接下载,这会更好的利用网络带宽,加快下载速度。 当服务器不能正常响应下载 URL/clone.bundlegitclone.bundlegitHTTPURL/clone.bundle,但git又能正常工作时,可以通过该参数,配置不下载$URL/clone.bundle,而是直接通过git下载远程git库

repo forall -c 'git status;git clean -xdf'   //常用的命令 单引号里面可以搭配git去干你想在单个project里面干的很多事。
一般git reset HEAD --hard 加git clean -xdf 就可以把编译过程中或者更改中产生的所有文件rollback,前提是你已经确认不要这些东西。

更加详细的介绍请参照下列链接
http://duanqz.github.io/2015-06-25-Intro-to-Repo

猜你喜欢

转载自blog.csdn.net/qq_33717425/article/details/76272317
今日推荐