repo init -u ssh://[email protected]:29419/manifest -m k86A.xml
使用-m参数指定具体使用的是k86A.mxl文件
步骤1. curl http://gerrit.y/repo > repo
安装repo,用于更新Android源代码。下载repo脚本,repo是Android对git的一个封装,简化了一些git的操作;
步骤2. 将repo文件移到指定目录中/usr/bin/repo(和~/bin的区别是什么?)
步骤3. 并在/usr/bin/repo目录下执行指令:sudo chmod a+x repo
设置repo脚本可执行权限。
步骤4. 执行repo init -u ssh://用户名@gerrit.y:29419/manifest -b yunos/mx1/cocolife/v9(default.xml文件)
repo的初始化(克隆代码库,首先是manifest文件),其中-u指的是url地址(也就是manifest Git库),-b指的是branch名(指定某个manifest分支);上述文件既是分支名为:origin/yunos/mx1/cocolife/v9的manifest的所有代码;可以用-m参数来选择repository中的某一个特定的manifest文件,如果不具体指定,那么表示为默认的manifest文件 ,即是default.xml
结果会在当前目录下创建.repo的隐藏目录,如果需要拷贝某个branch而不是主分支上的代码,需要用-b参数定制该branch名字;比如上述的yunos/cocolife/mx1-v9。
步骤5. 执行repo sync
如果是第一次运行repo sync,则这个命令相当于git clone,会把repository中的所有内容都拷贝到本地。如果不是第一次运行repo sync,则相当于 git remote update; git rebase origin/branch;repo sync会更新.repo下面的文件。如果在merge的过程中出现冲突,这需要手动运行git rebase --continue。