当依赖库多的时候,使用 repo 好比散兵有了将军 ,用处非常大 . 为方便理解,对应 git 来阐述
repo
说白一点,repo 相当于 iOS 中的 workspace,可以同时管理多个库;并且可以对多个库进行一键管理。举个栗子:
发布版本 1.0 时,需要 1.0 版本的库 a、1.1 版本的库 b 、1.1 版本的库 c;
发布版本 2.0 时,需要 2.0 版本的库 a、2.1 版本的库 b 、2.1 版本的库 c;
此时,就可以通过 repo 建立 2 个分支,V1.0 和 V2.0 ,需要使用时,一键切换就行,而不需要到每个库下去切换 git 分支
如果,有多个库使用经历的伙伴,一定能感受到这样的便利
repo的原理
原理其实都是简单的,repo 本身也是通过 git 来管理的,可以创建多个分支。它和 git 的不同点在于,repo 是对多个 git 工程的管理,而 git 只对当前工程的管理。repo 实现一键对过个 git 进行操作,具体实现中,也是对每个 git 库进行操作,只是都通过 repo 下的命令完成了。通过 repo 这个工具,就能更大局观的去管理整个项目,使得整个项目更条理清晰
常用 repo 命令
- 类似 git checkout 【切换分支】
repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0
这里的 git://android.git.kernel.org/platform/manifest.git
就是你 manifest 的git 路径, -b 后面跟的就是你需要的分支,默认的 default
- 类似 git pull 【拉取代码】
repo sync [project-list]
后面的 [project-list]
就是可以指定拉取此 repo 下的某个库; 不指定时,表示拉取所有库
- 类似 git push 【推送代码】
repo update[ project-list ]
后面的 [project-list]
就是可以指定上传此 repo 下的某个库; 不指定时,表示上传所有库 ,最后 commit 的时候,会让你选择哪些库
- 类似 git checkout -b 【创建新分支】
repo start newbranchname
- 删除已经 merge 的 project
repo prune [project list]
- 其他的 help 、status 和 git 效果一样
最后
作为一个高品位的程序员,要善于创造软件,也要善于用软件,将自己从繁琐重复的事情中解脱出来。
不重复造轮子,可以解释程序员的一生。
网友评论