的远程仓库,库的基地址为git://gerrit。
rebase origin/branch] 针对当前分支的跟踪分支执行rebase操作 举例:$repo sync 3.3 repo start 命令格式: $ repo start <newbranchname> [--all | < project >...]说明: 刚克隆下来的代码是没有分支的,repo start实际上是对git checkout -b命令的封装。为指定的项目或所有项目(若使用--all参数),以清单文件中设定的分支为基础,创建特性分支。这条指令与git checkout -b是有区别的,git checkout -b 是在当前所在的分支基础上创建特性分支,而repo start是在清单文件设定分支的基础上创建特性分支举例:$repo start stable platform/build platform/bionic (假设清单文件中设定的分支是gingerbread-exdroid-stable,那么执行以上指令就是对platform/build、platform/bionic项目,在gingerbread-exdroid-stable的基础上创建特性分支stable) 3.4 repo checkout 命令格式:$ repo checkout < branchname > [< project >...]说明:此命令实际上是对git checkout命令的封装,但不能带-b参数,所以不能用此命令来创建特性分支;只能用来切换分支举例:$repo checkout crane-dev (在清单文件中的设定分支的基础上切换到crane-dev分支) 3.5 repo branch 命令格式: $ repo branch [< project >...]说明: 此命令是用来查看分支的举例: $repo branch 或 $repo branch platform/build 3.6 repo diff 命令格式:$repo diff [< project >...]说明:实际上是对git diff命令的封装,用于显示各个项目工作区下的文件差异举例:$repo diff product/酷炫的高跟鞋/docs 查看docs下面工作区中文件的改变 3.7 repo stage 命令格式:$repo stage -i [< project >...]说明:实际上是对git add --interactive命令的封装,用于挑选各个项目工作区中的改动以加入暂存区,其中 -i 代表git add --interactive命令中的--interactive,给出界面供用户选择使用举例:$repo stage -i product/酷炫的高跟鞋/docs 3.8 repo prune 命令格式:$repo prune [< project >...]说明:它是对git branch -d命令的封装,该命令用于扫描项目的各个分支,并删除已经向上游服务器合并的分支 3.9 repo abandon 命令格式:$repo abandon < branchname > [ < project >...]说明:它是对git branch -D命令的封装举例:$repo abandon stable 3.10 repo status命令格式:$repo status [< project >...]
查看文件状态。同时显示暂存区的状态和本地文件修改的状态
举例:$repo status product/酷炫的高跟鞋/docs 显示如下:
以上的实例输出显示了product/docs项目分支的修改状态
每个小节的首行显示项目名称,以及所在分支的名称
第一个字母表示暂存区的文件修改状态
-:没有改变A:添加(不在HEAD中,在暂存区中)M:修改(在HEAD中,在暂存区中,内容不同)D:删除(在HEAD中,不在暂存区)R:重命名(不在HEAD中,在暂存区,C:拷贝(不在HEAD中,在暂存区,从其他文件拷贝)路径修改)T:文件状态改变(在HEAD中,在暂存区,内容相同)U:未合并,需要冲突解决第二个字母表示工作区文件的更改状态
-:新/未知(不在暂存区,在工作区)m:修改(在暂存区,在工作区,被修改)d:删除(在暂存区,不在工作区)两个表示状态的字母后面,显示文件名信息。如果有文件重名还会显示改变前后的文件名及文件的相似度
3.11 repo forall 命令格式:$repo forall [< project >...] -c <command>说明:迭代器,可以在所有指定的项目中执行同一个shell命令举例:$repo forall product/酷炫的高跟鞋/docs product/酷炫的高跟鞋/tools -c ls 显示product/酷炫的高跟鞋/docs和product/酷炫的高跟鞋/tools项目下的文件$repo forall -c 'echo $REPO_PROJECT' 显示清单文件中的所有项目选项: -c:后面所带的参数是shell指令-p:在shell指令输出之前列出项目名称-v:列出执行shell指令输出的错误信息 额外的环境变量: REPO_PROJECT:指定项目的名称REPO_PATH:指定项目在工作区的相对路径REPO_REMOTE:指定项目远程仓库的名称REPO_LREV:指定项目最后一次提交服务器仓库对应的哈希值REPO_RREV:指定项目在克隆时的指定分支,manifest里的revision属性
另外,如果-c后面所带的shell指令中有上述环境变量,则需要用单引号把shell指令括起来。 3.12 repo remote 命令格式:$repo remote add < remotename > < url [< project >…]说明:根据xml文件添加远程仓库备注:如果没有repo remote命令,可以使用下面设置远程仓库 命令格式:$repo forall -c 'git remote add 仓库名 url/$REPO_PROJECT.git'说明:为各个项目设置远程仓库举例:$ repo forall -c 'git remote add 酷炫的高跟鞋 http: //gerrit.allwinnertech.com:8081/$REPO_PROJECT.git' 3.13 repo push 命令格式:$repo push < remotename >说明:把当前所在的分支推送到远程仓库备注:如果未有此命令,可使用git相关命令推送到远程库 3.14 repo grep 命令格式:$repo grep说明:相当于对git grep的封装,用于在项目文件中进行内容查找举例:$repo grep *file product/酷炫的高跟鞋/docs 3.15 repo manifest 命令格式:$repo manifest说明:显示manifest文件内容举例:$repo manifest 3.16 repo version 命令格式:$repo version说明:显示repo的版本号举例:$repo version 3.17 repo info 命令格式:$repo info说明:显示清单文件中各个项目的有关信息,如项目所在路径等举例:$repo info 3.18 repo upload 命令格式:$repo upload [--re --cc] {[<project>]… | --replace <project>}说明:相当于git push,但是又有很大的不同。它不是将版本库改动推送到克隆时的远程服务器,而是推送到代码审核服务器(Gerrit软件架设)的特殊引用上,使用SSH协议。代码审核服务器会对推送的提交进行特殊处理,将新的提交显示为一个待审核的修改集,并进入代码审查流程,只有当审核通过后,才会合并到官方正式的 版本库中。选项: -h: --help:显示帮助信息-t:发送本地分支名称到Gerrit代码审核服务器–replace:发送此分支的更新补丁集–re=REVIEWERS:要求指定的人员进行审核-cc=CC:同时发送通知到如下邮件地址 3.19 repo download 命令格式:$repo download {project change [patchset]}…说明:主要用于代码审核者下载和评估贡献者提交的修订 3.20 repo selfupdate 命令格式:$repo selfupdate说明:用于repo自身的更新 3.21 repo help 命令格式:repo help (--all)说明:查看所有命令的帮助信息