栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

repo用法及原理详解,干了啥干了啥

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

repo用法及原理详解,干了啥干了啥

各种博客上经常看到下载repo代码、赋予权限,然后就使用,你真的理解它在做什么吗?

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

repo init -u  []
repo sync
curl干了啥

curl下载了repo脚本,然而,他只是一个repo bootstrap脚本,只支持init和help两个命令。

init 才安装完整的repo工具,之后将控制权转移给repo。

chmod a+x干了啥

借用一图说明:

给所有用户可执行权限。~/bin/repo 是个文件不是目录。 

u:user。就是你自己的权限

g:group。就是和你同组的人的权限

o:others。就是和你不同组的人的权限

a:all。就是所有人的权限

r:read。读权限,值为4

w:write。写权限,值为2

x:execute。执行权限,值为1

开头的符号

-:普通文件

d:directory。目录

repo init干了啥

两个阶段。

第一个阶段

初始化repo,仅涉及两个参数:

  • --repo-url=URL  repo工具本身的git库地址,缺省值为 git://android.git.kernel.org/tools/repo.git
  • --repo-branch=REVISION  repo版本库分支名称,缺省值为 stable

注意:这里有个坑,如果你用其他 repo-url,设置REVISION时可能就没有 stable 分支。都有啥分支?repo init的时候会显示有哪些分支。或者打开URL查呗。

第二个阶段

现在控制权转交给从URL下载的 repo 脚本了,这时候当前文件夹下多个.repo目录,第二阶段脚本是由.repo/repo/subcmds/init.py 负责执行的,python脚本哦~

现在开始克隆 -u 参数提供的 manifest git 仓库:

  • -u URL  指定要从中检索清单代码库的网址
  • -m MANIFEST.xml  选择代码库的一个清单文件。默认为 default.xml
  • -b REVISION  会检出 manifest git 仓库的修订版本,即特定的清单分支

repo sync 干了啥

代码清单都有了,repo sync 同步代码到本地。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1010477.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号