当前位置:   article > 正文

repo用法_--repo-url

--repo-url

Repo是谷歌用Python脚本写的调用git的一个脚本,可以实现管理多个git库。

//初始化

repo init -u xxx/manifest.git -b xxx -m xxx --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable

repo相当于一个批处理文件,使用repo脚本可以一次下载多个Git 仓库的内容,避免多次git clone,并能进行更好的管理和使用。

用 repo 拿的时候其实 .git 统统会放在 .repo 里,然后外面的.git都只是link。

repo脚本有如下可用参数:

--repo-url=URL        repo 工具本身的 git 库地址。缺省为:git://android.git.kernel.org/tools/repo.git

--repo-branch=REVISION    使用repo的版本库,即repo git库的分支或者里程碑名称。缺省为caf-stable

--no-repo-verify                 设定不要对repo的里程碑签名进行严格的验证。

-u(--manifest-url)               设定清单库的Git服务器地址。

-b(--manifest-branch)        检出清单库的特定分支。

--mirror                              只在repo第一次初始化的时候使用,建立本地镜像

-m(--manifest-name)         指定清单库中的某个清单为有效的清单文件。默认为default.xml。

--no-tags                           don't fetch tags                                      

repo 命令参数的含义,可以执行repo help command(sync)来看。

 

//下载代码
repo sync -j16 --no-tags

//只下载QNX project,其他project不下载

repo sync -j16 --no-tags QNX

repo 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的$URL/clone.bundle来初始化本地的git库,clone.bundle实际上是远程git库的镜像,通过HTTP直接下载,这会更好的利用网络带宽,加快下载速度。
 

//代码下载后,本地有个.repo目录

drwxrwxrwx 7 wxd wxd 4096 6月 7 09:27 .repo/

cd  .repo

  1. drwxrwxrwx 6 wxd wxd 4096 61 14:06 manifests/
  2. drwxrwxrwx 10 wxd wxd 4096 67 09:27 manifests.git/
  3. lrwxrwxrwx 1 wxd wxd 42 67 09:27 manifest.xml -> manifests/qisi/QS_HQCOS_HQX_1.2.1_MAIN.xml*
  4. -rwxrwxrwx 1 wxd wxd 17591 67 09:28 project.list*
  5. drwxrwxrwx 10 wxd wxd 4096 61 14:39 project-objects/
  6. drwxrwxrwx 32 wxd wxd 4096 61 14:52 projects/
  7. drwxrwxrwx 7 wxd wxd 4096 61 14:06 repo/
  8. -rwxrwxrwx 1 wxd wxd 44214 67 09:28 .repo_fetchtimes.json*

cd projects

  1. drwxrwxrwx 5 wxd wxd 4096 61 15:16 AMSS.git/
  2. drwxrwxrwx 5 wxd wxd 4096 61 15:17 art.git/
  3. drwxrwxrwx 5 wxd wxd 4096 61 15:17 bionic.git/
  4. drwxrwxrwx 4 wxd wxd 4096 61 14:39 bootable/
  5. drwxrwxrwx 5 wxd wxd 4096 61 14:38 build/
  6. drwxrwxrwx 3 wxd wxd 4096 61 14:08 compatibility/
  7. drwxrwxrwx 5 wxd wxd 4096 61 15:17 cts.git/
  8. drwxrwxrwx 5 wxd wxd 4096 61 15:17 dalvik.git/
  9. drwxrwxrwx 3 wxd wxd 4096 61 14:35 developers/
  10. drwxrwxrwx 5 wxd wxd 4096 61 15:17 development.git/
  11. drwxrwxrwx 9 wxd wxd 4096 61 14:22 device/
  12. drwxrwxrwx 3 wxd wxd 4096 61 14:26 disregard/
  13. drwxrwxrwx 312 wxd wxd 12288 61 14:56 external/
  14. drwxrwxrwx 16 wxd wxd 4096 61 14:40 frameworks/
  15. drwxrwxrwx 10 wxd wxd 4096 61 14:45 hardware/
  16. drwxrwxrwx 7 wxd wxd 4096 61 14:44 kernel/
  17. drwxrwxrwx 5 wxd wxd 4096 61 15:18 libcore.git/
  18. drwxrwxrwx 5 wxd wxd 4096 61 15:18 libnativehelper.git/
  19. drwxrwxrwx 9 wxd wxd 4096 61 14:16 packages/
  20. drwxrwxrwx 5 wxd wxd 4096 61 15:18 pdk.git/
  21. drwxrwxrwx 5 wxd wxd 4096 61 15:18 platform_testing.git/
  22. drwxrwxrwx 34 wxd wxd 4096 61 14:50 prebuilts/
  23. drwxrwxrwx 5 wxd wxd 4096 61 15:17 QNX.git/
  24. drwxrwxrwx 5 wxd wxd 4096 61 15:21 sdk.git/
  25. drwxrwxrwx 5 wxd wxd 4096 61 15:21 shortcut-fe.git/
  26. drwxrwxrwx 40 wxd wxd 4096 61 14:45 system/
  27. drwxrwxrwx 8 wxd wxd 4096 61 14:22 test/
  28. drwxrwxrwx 3 wxd wxd 4096 61 14:13 toolchain/
  29. drwxrwxrwx 20 wxd wxd 4096 61 14:45 tools/
  30. drwxrwxrwx 5 wxd wxd 4096 61 14:39 vendor/

repo status                    //查看状态

repo branch                 //查看分支

repo manifest             //查看清单文件

repo version                //查看repo版本号

repo abandon branchName     //删除分支

//撤销本地修改

repo forall -vc "git reset --hard"

//上传修改的代码

repo update[ project-list ]

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号