repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。android
用repo sync 抓取 android source code 的时候,会常常出现一些错误致使 repo sync 中断,每次都要手动开始。git
能够在一个脚本里写以下的命令,来自动取重复:web
repo sync while [ $? -ne 0 ] do repo sync done
repo sync [project] 下载最新本地工做文件,同步 repository 中的代码。 能够指定须要更新的project , 若是不指定任何参数,会同步整个全部的项目google
若是是第一次运行 repo sync , 则这个命令至关于 git clone ,会把 repository 中的全部内容都拷贝到本地。spa
若是不是第一次运行 repo sync , 则至关于 更新 和 自动合并 动做;code
repo sync 会更新 .repo 下面的文件。 若是在merge 的过程当中出现冲突, 这须要手动运行 git rebase --continueorm
3. repo help [ command ] , 显示command 的详细的帮助信息内容xml
如:能够用命令: repo help init 来获取 repo init 的其余用法.blog
4. repo init -u URL , 在当前目录安装 repository ,会在当前目录建立一个目录 ".repo" , -u 参数指定一个URL, 从这个URL 中取得repository 的 manifest 文件。同步
repo init -u git://android.git.kernel.org/platform/manifest.git ,能够用 -m 参数来选择 repository 中的某一个特定的 manifest 文件,若是不具体指定,那么表示为默认的 manifest 文件 (default.xml)
repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml , 能够用 -b 参数来指定某个manifest 分支。
repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0
5.repo upload[ project-list ] 上传修改的代码 ,若是你本地的代码有所修改,那么在运行 repo sync 的时候,会提示你上传修改的代码,全部修改的代码分支会上传到 Gerrit (基于web 的代码review 系统), Gerrit 受到上传的代码,会转换为一个个变动,从而能够让人们来review 修改的代码。
6. repo diff [ project-list ] 显示提交的代码和当前工做目录代码之间的差别。
7. repo forall -c command,对全部项目执行一个command命令,这个命令 至关 好用;
8. repo start newbranchname 建立新的branch分支。 "." 表明当前工做的branch 分支。
9. repo prune [project list] 删除已经merge 的 project
10. repo status 显示 project 的状态