1. repo是什么?python
repo是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。android
2. 为何要用repo?git
由于Android源码引用了不少开源项目,每个子项目都是一个Git仓库,每一个Git仓库都有不少分支版本,为了方便统一管理各个子项目的Git仓库,须要一个上层工具批量进行处理,所以repo诞生。github
repo也会创建一个Git仓库,用来记录当前Android版本下各个子项目的Git仓库分别处于哪个分支,这个仓库一般叫作:manifest仓库。api
3. 怎么安装repo?服务器
官方的repo脚本下载方法:微信
1curl |
|
因为官网被墙,目前可使用的repo脚本下载方法以下(二者选一):学习
1 2 3 4 |
|
或者修改手头已有的被墙的repo文件:
1 2 3 4 |
|
固然,你也能够去个人GitHub下载这个repo文件,地址:
https://github.com/Jhuster/AOSP/blob/master/repo
4. 怎么下载源码?
上面说过,Android源码分支其实由一个叫manifest仓库来管理起来的,所以,下载源码首先要clone这个manifest仓库。这个仓库里面有一个XML文件,其实就是一个文件清单,列出了本代码仓库依赖哪些代码,该去哪下载,分支是什么。
通常用repo init命令来clone这个manifest仓库,例如,若是要下载Android源码,则方法以下:
1 |
|
固然,上面的官网被墙了,所以,推荐以下镜像(二者选一):
1 2 |
|
初始化完毕后,你会在本地的.repo文件夹中看到manifest仓库的内容,这个文件夹中最重要的文件是manifest.xml(有的仓库用的是default.xml,而后指向具体的xml),它就是上面说到的文件清单。
若是要选择特定版本的Android源码,或者在已下载的源码基础上切换到其余版本,则可使用-b选项:
1 2 |
|
而后使用 repo sync 命令进行同步便可下载好所有的Android源码了。
5. manifest.xml文件清单的组成
上面提到了repo init须要初始化一个manifest仓库,仓库中含有一个很重要的manifest.xml文件清单,其实这个manifest.xml并不复杂的,它就是用XML文件的格式记录了本项目依赖的各个Git仓库的名称、地址,以及分支等信息。经常使用的元素以下所示:
(1) manifest 最顶层的XML元素
(2) remote 设置远程git服务器的属性,如名称、根URL地址等
(3) project 须要clone的Git仓库,path表示本机路径,name表示远程版本库的相对路径
(4) copyfile 执行拷贝操做,把URL/$src地址的文件拷贝到./$dest
其实,若是不使用repo工具,也是能够对照manifest.xml文件清单直接使用“git clone”的方式一个project一个project的下载的,而后对每一个project进行git checkout特定的分支。
7. 经常使用repo命令
这一块网上文章不少,我就不详细讲解了,只列出经常使用命令。
(1) repo init // 初始化repo仓库
(2) repo sync // 下载源码
(3) repo start // 建立分支
(4) repo checkout //切换分支
(5) repo branches //查看分支
(6) repo status //查看文件状态
8.
1. repo是什么?
repo是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。
2. 为何要用repo?
由于Android源码引用了不少开源项目,每个子项目都是一个Git仓库,每一个Git仓库都有不少分支版本,为了方便统一管理各个子项目的Git仓库,须要一个上层工具批量进行处理,所以repo诞生。
repo也会创建一个Git仓库,用来记录当前Android版本下各个子项目的Git仓库分别处于哪个分支,这个仓库一般叫作:manifest仓库。
3. 怎么安装repo?
官方的repo脚本下载方法:
1 |
|
因为官网被墙,目前可使用的repo脚本下载方法以下(二者选一):
1 2 3 4 |
|
或者修改手头已有的被墙的repo文件:
1 2 3 4 |
|
固然,你也能够去个人GitHub下载这个repo文件,地址:
https://github.com/Jhuster/AOSP/blob/master/repo
4. 怎么下载源码?
上面说过,Android源码分支其实由一个叫manifest仓库来管理起来的,所以,下载源码首先要clone这个manifest仓库。这个仓库里面有一个XML文件,其实就是一个文件清单,列出了本代码仓库依赖哪些代码,该去哪下载,分支是什么。
通常用repo init命令来clone这个manifest仓库,例如,若是要下载Android源码,则方法以下:
1 |
|
固然,上面的官网被墙了,所以,推荐以下镜像(二者选一):
1 2 |
|
初始化完毕后,你会在本地的.repo文件夹中看到manifest仓库的内容,这个文件夹中最重要的文件是manifest.xml(有的仓库用的是default.xml,而后指向具体的xml),它就是上面说到的文件清单。
若是要选择特定版本的Android源码,或者在已下载的源码基础上切换到其余版本,则可使用-b选项:
1 2 |
|
而后使用 repo sync 命令进行同步便可下载好所有的Android源码了。
5. manifest.xml文件清单的组成
上面提到了repo init须要初始化一个manifest仓库,仓库中含有一个很重要的manifest.xml文件清单,其实这个manifest.xml并不复杂的,它就是用XML文件的格式记录了本项目依赖的各个Git仓库的名称、地址,以及分支等信息。经常使用的元素以下所示:
(1) manifest 最顶层的XML元素
(2) remote 设置远程git服务器的属性,如名称、根URL地址等
(3) project 须要clone的Git仓库,path表示本机路径,name表示远程版本库的相对路径
(4) copyfile 执行拷贝操做,把URL/$src地址的文件拷贝到./$dest
其实,若是不使用repo工具,也是能够对照manifest.xml文件清单直接使用“git clone”的方式一个project一个project的下载的,而后对每一个project进行git checkout特定的分支。
7. 经常使用repo命令
这一块网上文章不少,我就不详细讲解了,只列出经常使用命令。
(1) repo init // 初始化repo仓库
(2) repo sync // 下载源码
(3) repo start // 建立分支
(4) repo checkout //切换分支
(5) repo branches //查看分支
(6) repo status //查看文件状态
8. 小结
关于repo工具就介绍到这里了,有任何疑问欢迎留言或者来信lujun.hust@gmail.com交流,也欢迎关注个人新浪微博@卢_俊 获取最新的文章和资讯。
本文出自 “Jhuster的专栏” 博客,请务必保留此出处http://ticktick.blog.51cto.com/823160/1653304
结束语
免费学习更多精品课程,登陆乐搏学院官网http://h.learnbo.cn/
或关注咱们的官方微博微信,还有更多惊喜哦~
本文出自 “Jhuster的专栏” 博客,请务必保留此出处http://ticktick.blog.51cto.com/823160/1653304
1. repo是什么?
repo是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。
2. 为何要用repo?
由于Android源码引用了不少开源项目,每个子项目都是一个Git仓库,每一个Git仓库都有不少分支版本,为了方便统一管理各个子项目的Git仓库,须要一个上层工具批量进行处理,所以repo诞生。
repo也会创建一个Git仓库,用来记录当前Android版本下各个子项目的Git仓库分别处于哪个分支,这个仓库一般叫作:manifest仓库。
3. 怎么安装repo?
官方的repo脚本下载方法:
1 |
|
因为官网被墙,目前可使用的repo脚本下载方法以下(二者选一):
1 2 3 4 |
|
或者修改手头已有的被墙的repo文件:
1 2 3 4 |
|
固然,你也能够去个人GitHub下载这个repo文件,地址:
https://github.com/Jhuster/AOSP/blob/master/repo
4. 怎么下载源码?
上面说过,Android源码分支其实由一个叫manifest仓库来管理起来的,所以,下载源码首先要clone这个manifest仓库。这个仓库里面有一个XML文件,其实就是一个文件清单,列出了本代码仓库依赖哪些代码,该去哪下载,分支是什么。
通常用repo init命令来clone这个manifest仓库,例如,若是要下载Android源码,则方法以下:
1 |
|
固然,上面的官网被墙了,所以,推荐以下镜像(二者选一):
1 2 |
|
初始化完毕后,你会在本地的.repo文件夹中看到manifest仓库的内容,这个文件夹中最重要的文件是manifest.xml(有的仓库用的是default.xml,而后指向具体的xml),它就是上面说到的文件清单。
若是要选择特定版本的Android源码,或者在已下载的源码基础上切换到其余版本,则可使用-b选项:
1 2 |
|
而后使用 repo sync 命令进行同步便可下载好所有的Android源码了。
5. manifest.xml文件清单的组成
上面提到了repo init须要初始化一个manifest仓库,仓库中含有一个很重要的manifest.xml文件清单,其实这个manifest.xml并不复杂的,它就是用XML文件的格式记录了本项目依赖的各个Git仓库的名称、地址,以及分支等信息。经常使用的元素以下所示:
(1) manifest 最顶层的XML元素
(2) remote 设置远程git服务器的属性,如名称、根URL地址等
(3) project 须要clone的Git仓库,path表示本机路径,name表示远程版本库的相对路径
(4) copyfile 执行拷贝操做,把URL/$src地址的文件拷贝到./$dest
其实,若是不使用repo工具,也是能够对照manifest.xml文件清单直接使用“git clone”的方式一个project一个project的下载的,而后对每一个project进行git checkout特定的分支。
7. 经常使用repo命令
这一块网上文章不少,我就不详细讲解了,只列出经常使用命令。
(1) repo init // 初始化repo仓库
(2) repo sync // 下载源码
(3) repo start // 建立分支
(4) repo checkout //切换分支
(5) repo branches //查看分支
(6) repo status //查看文件状态
8. 小结
关于repo工具就介绍到这里了,有任何疑问欢迎留言或者来信lujun.hust@gmail.com交流,也欢迎关注个人新浪微博@卢_俊 获取最新的文章和资讯。
本文出自 “Jhuster的专栏” 博客,请务必保留此出处http://ticktick.blog.51cto.com/823160/1653304