0
点赞
收藏
分享

微信扫一扫

repo命令大全

南陵王梁枫 2022-03-11 阅读 176
git

1. 项目清单库

<manifest>
  <remote fetch="ssh://10.XX.XX.XX" name="origin" review="10.XX.XX.XX:8090"/>
  <default remote="origin" revision="develop" sync-j="4"/>
​
  <project groups='all' name="XXX/XXX" path="XXX/XXX" remote="origin" revision="develop">
    <linkfile dest="XX/XX/" src="../.."/>
    <copyfile dest="XX/XX/XX.txt" src="./xx.txt"/>
  </project>
  <project name="XXX/repohooks" path="XXX/XXX" remote="origin" revision="develop"/>
  <repo-hooks enabled-list="post-sync" in-project="XXX/repohooks"/>
</manifest>  
  • <remote>:描述了远程仓库的基本信息。

    name:远程仓库的名称,通常我们看到的命名是origin

    fetch:git库地址

    review:用作code review的server地址

  • <default>:default标签定义的属性,将作为<project>标签的默认属性,在<project>标签中,也可以重写这些属性。

    revision:默认分支

    remote:默认的远程版本库名称

    sync-j:表示在同步远程代码时,并发的任务数量

  • <project>:每一个repo管理的git库,就是对应到一个<project>标签

    path:把代码下载到指定目录下

    name:该项目远程版本库的相对路径

    groups:该项目远程版本库所属组

    revision:单独指定分支

    remote:单独指定远程版本库名称

  • <project><copyfile>:project元素下的子元素copyfile,定义clone后从src到dest拷贝操作。

  • <project><linkfile>:project元素下的子元素linkfile,定义clone后dest到src的软连接。

  • <repo-hooks>:repo钩子,in-project下面应该有一个与钩子同名的python文件。因此,如果您想支持预上传钩子,您需要创建一个名为post-sync.py的文件。Repo将在处理钩子时动态加载该模块,然后调用其中的主函数。

    in-project:定义挂钩的项目。该值必须与先前定义的元素的name属性(而不是属性)匹配。

    enabled-list:要使用的钩子列表,空格或逗号分隔。

2.repo脚本库

repo对git命令进行了封装,提供了一套repo的命令集(包括init, sync等),所有repo管理的自动化实现也都包含在这个git库中。在第一次初始化的时候,repo会从远程把这个git库下载到本地。在repo的引导脚本中指定了repo脚本库的地址。

。。。。

3.repo常用命令

1.repo init 初始化

repo init -u <URL> [<OPTIONS>]
  • -u:指定manifest项目清单库地址

  • -m,–manifest-name:指定manifests库中的清单文件,默认为maniftests/default.xml。

  • -b, –manifest-branch:指定manifest仓的分支,默认为master分支。

  • -g:指定manifests库中的组来下载代码,默认为all。

不常用参数:

  • –repo-url:指定远程repo库地址,当引导脚本中的地址不可访问时,可以通过该参数指定可访问的repo地址。

  • –repo-branch:同manifest这个git库一样,repo这个git库也是有版本差异的,可以通过该参数来指定下载repo这个远程git库的特定分支。

  • –no-repo-verify:在下载repo库时,会对repo的源码进行检查。通过–repo-url指定第三方repo库时,可能会导致检查不通过,所以可以配套使用该参数,强制不进行检查。

  • --depth {number}:限制下载记录次数,加速代码下载。

2.repo sync 同步代码

repo sync [PROJECT_LIST]
举报

相关推荐

0 条评论