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

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

当前位置: 主页 > 举报玩家 > 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

奇纳河谷歌有限性出口,因而上面的命令不用然是下载的。。确实,本人立刻可以从很多第三方开导找到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命令了。

本人还绍介了稍许地不经用的限制因素。,在奇纳河下载安卓源时,它将被运用:

  • –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%
------分隔线----------------------------
相关内容
推荐内容