以上,repo
就可以用来管理所有的项目
随着业务越来越复杂,代码库也随之越来越多,多个代码库的管理就显得更加重要。在 Android 源码开发中,Google 开发了一个 repo 脚本用于管理项目中的数百个仓库(在我拉取的一份 Android 源码中,有 514 个 Git 仓库)。个人在使用中需要如何使用 repo 来管理项目代码呢?使用 repo 最重要的就是 repo 脚本和项目清单仓库,在执行repo init执行过程中就会...
链接:https://www.zhihu.com/question/41440585/answer/91102156
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
通常repo通过以下两个命令来下载代码:
repo init -u git://http://xxx.xxx.xxx/platform/manifest -b $bra...
简单来说,repo是git仓库的管理工具,它能更方便的管理由若干个git仓库组成的项目。
它是python脚本,平常我们操作的repo命令只是一个入口,其实它还有一个git仓库,是一系列python脚本的集合
repo通过清单文件(.xml)来管理。清单文件里记录了所有的git仓库信息。也可以当作是项目的快照,根据某一个清单文件,就能将整个项目里的所有git仓库都还原到生成清单文件时的状态。所有的清单需要一个git仓库管理
一、准备工作
1. 关于repo
repo是Google开发的用于管理Android版本库的一个工具。repo并不是用来取代Git,而是用Python对Git进行了一定的封装,简化了对多个Git版本库的管理。对应repo管理的任何一个版本库,都需要使用Git命令进行操作。
repo的使用过程大致如下:
l 运行repo init命令,克隆Android的一个清单库。这个清单库是通过XML技术建立的版
搭建repo服务器管理多个git工程
原文链接: http://www.lisongze.com/2018/11/02/repo/ or http://www.lisongze.cn/2018/11/02/repo/
1.repo介绍
android使用git作为代码管理工具,开发了gerrit进行代码审核以便更好的对代码进行集中式管理。还开发了repo命令行工具,对git部分命令进行封...
1.repo介绍
Android使用git作为代码管理工具,开发了gerrit进行代码审核以便更好的对代码进行集中式管理。还开发了repo命令行工具,对git部分命令进行封装,将百多个git库有效的组织。
鉴于repo能够管理多个git库,针对一个项目需要多个git库分开管理使用repo就非常方便。如嵌入式项目一般由uboot、kernel、文件系统rootfs、用户程序等组成。这里就以这样的项目组织来搭建r
关于repo
Android使用Git作为代码管理工具,开发了Gerrit进行代码审核以便更好的对代码进行集中式管理,还开发了Repo命令行工具,对Git部分命令封装,将百多个Git库有效的进行组织。
下载安装repo
curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
然后将repo加入系统变量
如果是在mac下安装了brew,可以用如下命令行安装repo:
brew install rep...
本文基于repo v1.12.37和repo launcher 1.23
文中manifest文件有时也称为清单文件
文中对40个字符的commit id进行截断处理,例如将"221a1acee8047ae65c2d5980e3a7c5f73362c59d"截断为8个字符的"221a1ace"
1. manifest文件之痛
有没有遇到过这样的场景:
例如,想冻结某个时间点调试好的代码,
<manifest>
<remote fetch="ssh://10.XX.XX.XX" name="origin" review="10.XX.XX.XX:8090"/>
<default remote="origin" revision="develop" sync-j="4"/>
<project groups='all' name="XXX/XXX" path="XXX/XXX" remote="origin" revi...
可以使用Python的configparser模块读取配置文件,然后使用open函数来读写Linux的repo文件。比如: import configparserconfig = configparser.ConfigParser()
config.read('/etc/repo.conf')with open('/etc/repo.conf', 'w') as configfile:
config.write(configfile)