1.repo sync [project-list]
如果不带参数就是当前repo下的所有,否则就是特定的project.他可以让你的仓库全部到对应的分支,比如你在某个repo里已经checkout了一个特定版本,他同样会把你这个版本带到对应的分支,其实就类似于
git remote update
git rebase origin/develop
同时你可以先通过repo branches来查看每个Repo的tracking分支
注意在这种情况下,就跟我们普通的repo类似,如果你的working directory是干净的,那么这个操作很让你非常轻松的就回到原始状态,但是一旦你的working directory有文件的修改,那么他就会提示报错,需要你手动更新
2.repo status
可以查看你当前管理下的每个子repo的状态,类似与在每个repo里面单独跑git status
3.repo diff
跟repo status类似,给你详细列出当前的所有diff内容
4.repo init
在初始化的时候,需要用这个命令来进行,比如
repo init -u url [-m xxx.xml](默认为default.xml) [-b branch_name](通过这个命令可以切换默认分支,这个分支指manifest的分支)
repo sync -j32(加上这个来启动都线程下载)
但是当你比如想切换分支或者版本的时候,你也可以通过这个命令来进行
repo init -m master.xml [-b branch_name](通过这个命令可以切换默认分支,这个分支指manifest的分支)
repo sync -j32(加上这个来启动都线程下载)
上面的命令就可以让你成功从default.xml -> master.xml进行开发
5.repo start --all <branch_name>
这个和上面的repo init的切换分支不同,上面的repo init的切换分支只是切换的是mainfest.xml本身的分支,而这里的repo start --all develop是对当前目录下的所有project进行内部的分支切换,跟manifest.xml本身已经没有关系
PS:
- repo init如果不指定branch,默认都是default branch,包括如果不指定xml,默认都是default.xml,因此如果你想让对方用哪个分支的xml,你需要手动去维护这个default分支到对应的地方
- repo init -b <revision>这个-b再次强调是指manifest.xml的分支
- 如果你在初始化之后还想手动切换,你除了repo start之外可以借助repo init但是需要几步
- repo init -b <branch_name> repo sync [-d]
能看到,repo init还是只是影响了manifest.xml,如果要同步代码你还需要repo sync
本文暂时没有评论,来添加一个吧(●'◡'●)