repo刚google使用Python脚本写通话git脚本。主要用于下载、管理Android工程仓库。
1. 下载 repo 的地址: http://android.git.kernel.org/repo ,能够用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo >~/bin/repo 来下载 repo ,
chmod a+x ~/bin/repo
2. 用repo sync 抓取 android source code 的时候,会常常出现一些错误导致 repo sync 中断,每次都要手动開始。
能够在一个脚本里写例如以下的命令,来自己主动取反复:
repo sync
while [ $?
-ne 0 ]
do
repo sync
done
repo sync [project] 下载最新本地工作文件,同步 repository 中的代码。 能够指定须要更新的project , 假设不指定不论什么參数。会同步整个全部的项目
假设是第一次执行 repo sync 。 则这个命令相当于 git clone ,会把 repository 中的全部内容都复制到本地。
假设不是第一次执行 repo sync , 则相当于 更新 和 自己主动合并 动作;
repo sync 会更新 .repo 以下的文件。 假设在merge 的过程中出现冲突。 这须要手动执行 git rebase --continue
3. repo help [ command ] , 显示command 的具体的帮助信息内容
如:能够用命令: repo help init 来获取 repo init 的其它使用方法
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 状态