时时彩网站 - 时时彩玩法 - 重庆时时彩时时彩网站 -

时时彩网站 - 时时彩玩法 - 重庆时时彩时时彩网站

当前位置: 主页 > 现金分享 > Repo介绍

Repo介绍

时间:2018-07-19来源:网络整理 作者:admin点击:

请尊敬新颖的版权,重印指示性的原因。

读数本文先于,施惠于对GIT有必然的听说。。

repo它是安卓开门的Python本子,便于行政机关。。repo的涌现,不代替Git,这是为了让Android开门者应用程式好转的地应用Git。。

Android源法典包住数百个Git库,下载偌多Git库是每一沉重的使命。,因而当你下载源法典时,Android就引入了repo。 Android公职的装设下载repo的办法是经过Linux curl命令,下载后,为repo本子添加可运转性斋戒行进:

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

中国1971谷歌有限的事物出口,因而上面的命令不用然是下载的。。实则,我们的如今可以从很多第三方迫降找到repo本子,把它拿下降,确保repo可以真正的处死那就够了。


repo需求关怀通常git库的总共、选派、道路等,用这些基本知识,这些Git库可以被操控。经过集中举行辩护迷住GIT库的列表,repo可以手巧的的从清单中获取git库的知识。 执意这么列表将跟随版本的散发而时尚界。,对用户化提出要求也某些数量风土性的正确的。,因而,repo是经过Git库来行政机关条的清单发送的,Git库的选派高地manifests

当翻开repo执意这么可运转性的python本子后,找到的法典量大(不超过1000行),执意这么本子无论成功了AOS中数百个Git库的行政机关。 repo是环绕本子的集中,这些本子也经过Git库来举行辩护。,Git库的选派高地repo

在客户端应用repo设定初值独自条时,它将是冷淡的的manifestsrepo这两个Git库被使再次发作到褊狭的。,但这是Android开门者应用程式的,险乎不见(普通经过发送行政机关器),谈不上看见两个Git库。。 repo将自动化的行政机关知识都覆盖根目次的.repo子目次表中。

AGSP条清单GIT库,独一无二的独自发送,它是独自基准的XML,描写了通常repo行政机关的迷住知识。AOSP发送的心甘情愿的如次:

name="aosp"fetch=".."review=""/>revision="master"remote="aosp"sync-j="4"/>path="build"name="platform/build"groups="pdk,tradefed">src="core/"dest="Makefile"/>path="abi/cpp"name="platform/abi/cpp"groups="pdk"/>path="art"name="platform/art"groups="pdk"/>
    ...
path="tools/studio/translation"name="platform/tools/studio/translation"groups="notdefault,tools"/>path="tools/swt"name="platform/tools/swt"groups="notdefault,tools"/>
  • :描写微小的仓库栈的基本知识。。选派描写微小的仓库栈的选派。,我们的通常看见的名字是原点,交换的是FETCH。,它用于安排条仓库栈的微小的地址; 审察维修地址

  • :默许用放射性元素使示踪解释的属性,将用作用放射性元素使示踪的默许属性,在在用放射性元素使示踪中,还可以重写这些属性。。属性编辑表现通常版本。,更确切地说,我们的通常称为用枝形叶脉刺绣花纹装饰;属性微小的描写DeFA。,即在帐单射中靶子选派的属性值;属性Syc J指示性的什么时候,被附加使命的总共,高使成形的机具可以高处执意这么值。

  • :每独自repo行政机关Git库,那执意对应独自。用放射性元素使示踪,道路描写条对立于微小的仓库栈URL的道路。,同时将用作对应Git库在褊狭的法典的道路; 选派用于解释条的选派,命名方法是完全地条URL的对立地址。。 拿 ... 来说,AOSP条的URL是,命名为platform/buildGit库,已出口的URL是平台/安排

倘若需求添加或交换少量的Git库,可经过正确的实施,repo会粉底使成形知识,自动化行政机关。但立即扭成对用户化,它可能性形成条列表的下次整修。,与微小的抵触。 依据,repo装修了独自种更为灵敏的用户化方法local_manifests迷住用户化依照阐明,发送名可以自解释。,譬如,褊狭的, another_local_等, 将用户化的XML放在新建的.repo/local_manifests子目次表那就够了。repo会遍历.repo/local_manifests目次下的迷住*.xml发送,终极合到独自总数条列表发送中。

LoalAll清单正确的的示譬如次:

$ls .repo/local_manifests
local_
another_local_

$cat .repo/local_manifests/local_
        

repo对git命令举行了封装,装修了一套repo的命令集(包罗init, 同时性等。,迷住repo行政机关的自动化实施也都包住在执意这么git库中。 在首次设定初值时,repo会从微小的把执意这么git库下载到褊狭的。

仓库栈目次包住历史知识和编辑记载。,任务目次保藏的是通常版本的知识。普通来说,条的Git回忆库目次(默许是.git目次)是,纵然Git遭受独自条的Git回忆库和任务的独自回忆。。 大约repo行政机关说起,有独自的回忆器,它也回忆在任务目次中。

  • manifests: 仓库栈目次有两份。,一份说出来源任务目次(.repo/manifests)的.git目次下,另一份孤独寄存于.repo/

  • repo:仓库栈目次说出来源任务目次(.repo/repo)的.git目次下

  • project:行政机关的GIT库的迷住仓库栈目次都被独自保藏。,说出来源.repo/projects目次下。同时,它还将生计任务目次的.git。,但外面迷住的发送都是到.repo的用环衔接。这么,执意划分做回忆,它还与任务目次射中靶子迷住Git命令兼容的。。

既然.repo目次下保藏了条的迷住知识,当独自条被使再次发作时,只需求使再次发作执意这么目次。。repo遭受从褊狭的已特别的.repo中回复原特别的条。


repo命令的应用体式如次所示:

$ repo  

可选的。:help、init、sync、upload、diff、download、forall、prune、start、status,每个命令都有实践的的视野。, 如今让我们的复杂绍介一下这些命令。:

$ repo init -u  []
  • -u:装设清单的微小的Git库的URL,清单库是完全地条的列表。默许位置,Git库只包住独自发送,这点的心甘情愿的可以从Android的范本中看见。

  • -m, –manifest-name:在需求的清单库中装设列表发送。默许位置下,表现形式的应用

  • -b, –manifest-branch:装设发送的版本,,这执意如所周知的用枝形叶脉刺绣花纹装饰。

运转命令后,会在通常目次下新建独自.repo子目次表:

.repo
├── manifests       # Git库,包住发送,用于描写repo所行政机关Git库的知识
├──    # 清单GIT库的实在,manifest/.git目次下的迷住发送城市用环衔接到该目次
├──     # 清单的软用环衔接
└── repo            # Git库,包住repo运转的迷住本子

这些褊狭的的目次是方法构筑的呢?处死repo命令时,可以经过--trace确定因素,看一眼发作了什么。

$ repo --trace init -u$URL-b$BRANCH-m$MANIFEST  --------------------
  mkdir .repo;cd .repo
  git clone --bare $URL 
  git clone tools/repo
  mkdir -p manifests/.git;cd manifests/.git
  for i in ../..//*;do ln -s .;done  cd ..
  git checkout $BRANCH --.  cd ..
  ln -s manifests/$MANIFEST 

率先,在通常目次下使被安排好.repo子目次表,后续迷住的操控都在.repo子目次表下成功;

过后,复制人两个GIT库,内侧的独自是-u确定因素装设清单,褊狭的git库的选派是另独自是默许的repo,嗣后我们的将看见执意这么URL也可以由确定因素装设。

通向,使被安排好了清单/git目次,它射中靶子迷住发送都用环衔接到执意这么目次。,这是为了便于在清单DI上处死Git命令。,紧通向,清单将被切换到-b由确定因素装设的用枝形叶脉刺绣花纹装饰

够用,在.repo目次下,使被安排好软用环衔接,用环衔接到-m确定因素式的列表发送,默许为清单。

这么,独自多Git库的设定初值早已成功。,接近末期的,就可以处死休息的repo命令了。

我们的还绍介了少量的不经用的确定因素。,在中国1971下载安卓源时,它将被应用:

  • –repo-url:装设微小的repo库的URL,默许位置是tools/repo,但国际对谷歌的出口是有限的事物的,它将形成执意这么库被下载。,于是形成repo 设定初值失律,因而经过执意这么确定因素是可能性的装设独自出口不拘泥的的repo地址

  • –repo-branch:与清单Git库异体同形,repo执意这么git库同样有版本差别的,经过执意这么确定因素是可能性的来装设下载repo执意这么微小的git库的认为用枝形叶脉刺绣花纹装饰

  • –no-repo-verify:鄙人载repo库时,会对repo的源码举行反省。经过–repo-url装设第三方repo库时,这可能性形成制止不经过。,因而它可以用来应用执意这么确定因素,限制不举行反省

$ repo sync [PROJECT_LIST]

下载微小的法典,并将褊狭的法典整修为最新,执意这么列队行进高地同时性。。倘若不应用确定因素,这么会对迷住repo行政机关的举行同时性操控;也可以PROJECT_LIST确定因素,装设要同时性的条总共。 与褊狭的GIT库法典不寻常的,同时性操控有不寻常的的行动:

  • 当褊狭的Git库是首次来到同时性操控时,这么,执意这么命令相当于git clone,微小的Git库将立即使再次发作到褊狭的。

  • 当同时性操控已在褊狭的来到时,这么,执意这么命令相当于git remote update && git rebase origin/通常微小的用枝形叶脉刺绣花纹装饰与褊狭的用枝形叶脉刺绣花纹装饰相干。 法典合可以使被安排好抵触,当抵触涌当今的,独一无二的处理抵触,过后处死git rebase --continue那就够了。

当同时性命令已真正的处死时,褊狭的法典与微小的法典划一。。在少量的视野中,我们的它将被应用sync命令的少量的确定因素:

  • -j:开敞式多线索同时性操控,这将放慢同时性命令的处死高速。。默许位置下,同时应用4个线状物处死同时性

  • -c, –current-branch:仅同时性装设的微小的用枝形叶脉刺绣花纹装饰。。默许位置下,同时性将同时性迷住微小的用枝形叶脉刺绣花纹装饰,当微小的用枝形叶脉刺绣花纹装饰更多,你下载的法典量很大。应用此确定因素,下载时期可以缩减,保藏褊狭的磁盘以一定间隔排列

  • -d, –detach:走出通常的分岔用枝形叶脉刺绣花纹装饰机构,切换到中央的的用枝形叶脉刺绣花纹装饰集中。在实践操控中,执意这么确定因素特别的顶用。,当我们的首次成功同时性法典时,常常切换到DEV用枝形叶脉刺绣花纹装饰举行开门。倘若不应用此确定因素应用同时性, 它来到褊狭的DEV用枝形叶脉刺绣花纹装饰与MANI设置的微小的用枝形叶脉刺绣花纹装饰合。,这很可能性形成同时性失律。

  • -f, –force-broken:当Git库同时性失律时,不定方位完全地同时性操控,持续同时性休息Git库

  • –no-clone-bundle:当向维修召唤召唤时,为了斋戒应答反应高速,它将被应用心甘情愿的泄露电网络(CDN, Content Delivery 电网络)。同时性操控也将创办与重行的办事的衔接。, 应用HTTP/HTTPS的$URL/来设定初值褊狭的Git库,它在世界上是独自微小的Git库的镜像。,经过HTTP立即下载,这将好转的地使用电网络带宽。,放慢下载高速。 当维修对下载的URL缺少真正的应答时,纵然Git又能地租地任务,经过执意这么确定因素是可能性的,使成形不下载$URL,相反,立即经过Git下载微小的Git库

$ repo upload [PROJECT_LIST]

从字面意思,上传的数据执意上传的数据,将褊狭的法典上传的数据到微小的维修。上载命令率先查找自,过后将构筑这些更改以构筑补丁发送。,上传的数据至Gerrit维修。 倘若未装设条列表,过后上传的数据将看见Git库射中靶子迷住更改;倘若是Git天秤,上传的数据装修交互式的范围,情绪选择数个用枝形叶脉刺绣花纹装饰上传的数据。。

upload并不能胜任的立即将改动合后微小的Git库,相反,我们的需求率先博得讲读者的认可。。审读者检查更改心甘情愿的、确定无论认可同盟条约法典的操控,这一切都是经过格雷特成功的。 在清单中装设GeRIT维修的地址。:翻开.repo/,执意这么XML 用放射性元素使示踪射中靶子审读属性值是审读维修的URL。

name="aosp"fetch=".."review=""/>

GeRIT的实施机制并缺陷本文议论的心甘情愿的。,但有数个GeRIT中间定位意向,它需求经过相干到职员的法典来变得流行。:

  • Reviewer:法典审读器可以是多个,它需求被人挑选。GeRIT装修网页的操控,你可以填写讲读者。。当相干到多个Git库时,为了使无效在网页上频繁地选择讲读者,执意这么反复, 上传的数据装修–re, –reviewer确定因素,在命令行中装设一次审读者

  • Commit-ID:区别每个相干到,相干到ID的绍介,这是SHA-1值,相干到的确认试验和,可以用来确认相干到心甘情愿的的完整性

  • Change-ID:每个复习功课使命的GRIT,更改ID的绍介,每个相干到都上传的数据到GrIT,它们都对应于更改ID。, 为了区别相干到ID,GeRIT在首都中设置更改ID“I” 打头的。 更改ID与相干到ID缺陷一一对应的对应相干,每个相干到ID与更改ID相干,纵然更改ID可以与多个相干到ID中间定位系。

  • Patch-Set:通常审察需求的更衣。更改ID与多个相干到ID中间定位系,这是补丁集。,当经过git commit --amend正确的后的命令将在够用一次相干到并上传的数据。, 相干到ID已更改。,纵然你依然可以生计更衣ID常数,这么,在GrIT的原始审察使命下,将会有独自新的补丁集。大约次被符合公认准则的了,将涌现大约补丁集, 可以变得流行,独一无二的够用每一正确的案才是我们的残忍的的。,因而,在迷住补丁集,独一无二的最新的才是真正顶用的。,可以合。

$ repo download  

上载是向GrIT相干到更改,下载是从GrIT下载的。使过得快活上传的数据,下载命令也与GeRIT一齐应用。。

$ repo forall [PROJECT_LIST] -c 

对装设Git库处死-c确定因素挨次。在行政机关多个GIT库时,这是独自特别的实践的的命令。。条列表以以一定间隔排列区别,拿 ... 来说:

$ repo forall frameworks/base packages/apps/Mms -c"git status"

表现对platform/frameworks/baseplatform/packages/apps/Mms同时处死git status命令。 倘若未装设条列表,这么,会对repo行政机关的迷住git库都同时处死命令。

执意这么命令还某些数量休息的确定因素:

  • -r, –regex: 经过装设大教堂教士的符号,独一无二的婚配的条,处死装设的命令。

  • -p:出口结出果实中,标志条选派

$ repo prune []

自成一格装设的条,合用枝形叶脉刺绣花纹装饰。当用枝形叶脉刺绣花纹装饰合到主干用枝形叶脉刺绣花纹装饰时,,执意这么开门用枝形叶脉刺绣花纹装饰可以用执意这么命令自成一格。

跟随时期的生长,越来越多的开展用枝形叶脉刺绣花纹装饰将是,在多人开门同Git库,多用枝形叶脉刺绣花纹装饰机构的开展越来越明白的,认为通常Git库有以下用枝形叶脉刺绣花纹装饰:

* master
  dev_feature1_201501   # 并入令人满意地
  dev_feature2_201502   # 并入令人满意地
  dev_feature3_201503   # 正开门中,也有记载的更衣,缺少合到主人

这么,为Git库应用修剪命令,会自成一格dev_feature1_201501和dev_feature2_201502。

解释自成一格没有用用枝形叶脉刺绣花纹装饰,有着协同工作开展和行政机关实力的才能。修剪是自成一格没有用用枝形叶脉刺绣花纹装饰的杀手锏。

$ repo start  []

计划中的装设条,切换到装设的用枝形叶脉刺绣花纹装饰。可以应用–all确定因素对迷住条处死用枝形叶脉刺绣花纹装饰切换。。 命令在世界上是真正的的git checkout命令的封装,这是执业,它将崇拜者清单中装设的用枝形叶脉刺绣花纹装饰选派。。

当第独自同时性成功法典时,可以经过启动C将Git库切换到开门用枝形叶脉刺绣花纹装饰。,使无效在隐姓埋名用枝形叶脉刺绣花纹装饰上任务,形成心甘情愿的降低。。

$ repo status []

事态用于检查多个Git库的事态。在世界上,是对git status命令的封装。


Android装设的开门列队行进:

  1. repo init设定初值工程,装设要下载的用枝形叶脉刺绣花纹装饰
  2. repo sync下载法典
  3. repo start将褊狭的Git库切换到开门用枝形叶脉刺绣花纹装饰(题材) 用枝形叶脉刺绣花纹装饰机构)
  4. 做慢车正确的,支票后,向外地相干到
  5. repo upload上传的数据到维修,可得到审察

在实践应用列队行进中,我们的它将被应用repo的少量的什么子命令和确定因素呢?什么人确定因素有助于增殖开门实力呢?上面我们的以少量的实践视野为例发射阐明。

经过local_manifest机制,可使无效立即正确的,它不能胜任的鄙人独自同时性微小的列表发送中通向抵触。。

氰化钼(CM)装有数百种做模特儿。,不寻常的机型所屈尊做某事Git库很可能性是有差别的。以CM自解释列表发送为例,经过添加慢车,心甘情愿的如次:

name="github"fetch="git://"/>name="platform/bootable/recovery"/>name="platform/external/yaffs2"/>name="platform/external/zlib"/>path="bootable/recovery"name="CyanogenMod/android_bootable_recovery"remote="github"revision=""/>path="external/yaffs2"name="CyanogenMod/android_external_yaffs2"remote="github"revision=""/>path="external/zlib"name="CyanogenMod/android_external_zlib"remote="github"revision=""/>path="external/busybox"name="CyanogenMod/android_external_busybox"remote="github"revision=""/>

LoalAll将合到现特别的条列表发送中。,实施了对少量的git库的交换和新增。 可以应用以下命令导出通常清单发送,出路是熔合版:

$ repo manifest -o  -r

波湾阴谋前,保藏完全地条的列表,成绩的回溯。当条Git库发作更动,不得不回滚到先前的版本举行确认。,它只需求在前独自版本上重行设定初值。:

$ cp  .repo/manifests/
$ repo init -m            # -m 确定因素表现自解释清单$ repo sync -d# -d 出生于通经用枝形叶脉刺绣花纹装饰的确定因素表现,切换到清单中解释的用枝形叶脉刺绣花纹装饰

在repo 设定初值时期,会从微小的下载manifests和repo这两个git库,默许位置下,这两个git库的地址都是写死在repo执意这么python本子外面的。大约AOSP,两个GIT库的地址显然是由谷歌装修的。。 但鉴于出口谷歌有限的事物,它会形成init,无法下载manifests和repo。这时候,可以应用init-u–repo-url确定因素,自解释两个库的地址,辅以–no-repo-verify附近法典反省。

$ repo init --repo-url[PATH/TO/REPO] -u[PATH/TO/MANIFEST] -b[用枝形叶脉刺绣花纹装饰机构 --no-repo-verify$ repo sync

repo默许会同时性git库的迷住微小的用枝形叶脉刺绣花纹装饰的法典,但在实践开展的列队行进中,所应用的用枝形叶脉刺绣花纹装饰是有限的事物的。。应用sync-c确定因素,不得不下载清单中设置的用枝形叶脉刺绣花纹装饰,这节省了法典下载时期和褊狭的磁盘以一定间隔排列。:

$ repo sync -c

倘若实践开门列队行进,你需求应用另独自用枝形叶脉刺绣花纹装饰,不愿被休息树枝妨碍睡眠,它可以存位于现特别的工程根目次中。,应用以下命令:

$ repo manifest -o  -r$ repo init -u[PATH/TO/MANIFEST] -b[ANOTHER_用枝形叶脉刺绣花纹装饰机构
$ repo sync -c-d

再命令序列,它是相当明白的的整修,过后下载另独自用枝形叶脉刺绣花纹装饰法典,此褊狭的仅保藏法典的两个用枝形叶脉刺绣花纹装饰。。应用保藏,它还可以手巧的地将迷住Git库切换回构成者的用枝形叶脉刺绣花纹装饰。。

倘若早已有独自Android源的拷贝,认为道路是~/Android ExcSt,想下载另独自新的Android源码,经过–reference确定因素,几分钟执政的,你可以下载法典:

$ mkdir ~/android-new &&cd ~/android-new
$ repo init --reference=~/android-exsit -u[PATH/TO/MANIFEST] -b[用枝形叶脉刺绣花纹装饰机构
$ repo sync -c

在同时性成功法典接近末期的,默许位置下,迷住Git库都在隐姓埋名用枝形叶脉刺绣花纹装饰上 用枝形叶脉刺绣花纹装饰机构),鉴于误操控,轻易形成降低的法典正确的。。可以应用以下命令将迷住Git库切换到开门用枝形叶脉刺绣花纹装饰:

$ repo start BRANCH --all

开门者应用程式可能性同时有多个Git库中。,更多用枝形叶脉刺绣花纹装饰,同时正确的,只是为每个Git库相干到法典是有趣的。。可以应用以下命令,将迷住更改相干到到一齐:

$ repo upload

你不用流露出忧虑的相干到或相干到它。,上传的数据装修交互式的范围,开门人员选择需求相干到Git库和用枝形叶脉刺绣花纹装饰那就够了。

倘若您需求将审读者保藏在GeRIT上,可以应用–reviewer审读者的邮箱地址由确定因素装设。:

$ repo upload --reviewer=""

Git促进Bug的革新的或新特点的开门,使被安排好新的用枝形叶脉刺绣花纹装饰。使被安排好GIT用枝形叶脉刺绣花纹装饰的本钱特别的小。,同时高速很快,依据,不要流露出忧虑的使被安排好GIT用枝形叶脉刺绣花纹装饰的本钱,不要尽量性多地应用树枝。

跟随时期的生长,越来越多的开展用枝形叶脉刺绣花纹装饰将是,合到脊梁骨的少量的开门用枝形叶脉刺绣花纹装饰是不在的。,可以经过修剪C活期自成一格没有用的开门用枝形叶脉刺绣花纹装饰。:

$ repo prune [PROJECT_LIST]

大约少量的开门人员,同时操控多个GIT库是标准的的。,倘若每个Git库的操控命令是异体同形的,,这么可以应用以下命令用后就抛弃的成功迷住操控:

$ repo forall -c"git branch | grep tmp | xargs git branch -D; git branch"

确定因素-c装设的命令序列可能性特别的复杂。,多个命令只需求应用;以一定间隔排列。。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关内容
推荐内容