中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

酒店vi設(shè)計(jì)抖音seo培訓(xùn)

酒店vi設(shè)計(jì),抖音seo培訓(xùn),政府網(wǎng)站建設(shè)情況,元芳重慶網(wǎng)站建設(shè)Repo簡(jiǎn)介 “Repo” 是一個(gè)用于管理多個(gè)Git存儲(chǔ)庫(kù)的工具,通常與Google的Android開(kāi)發(fā)項(xiàng)目一起使用。它允許您在一個(gè)命令下輕松地進(jìn)行多個(gè)Git存儲(chǔ)庫(kù)的同步、下載和管理。 repo下載安裝 從清華鏡像源下載 mkdir ~/bin PATH~/bin:$PATH curl https://mirrors.tun…

Repo簡(jiǎn)介

“Repo” 是一個(gè)用于管理多個(gè)Git存儲(chǔ)庫(kù)的工具,通常與Google的Android開(kāi)發(fā)項(xiàng)目一起使用。它允許您在一個(gè)命令下輕松地進(jìn)行多個(gè)Git存儲(chǔ)庫(kù)的同步、下載和管理。

repo下載安裝

從清華鏡像源下載

mkdir ~/bin  
PATH=~/bin:$PATH  
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo #~/bin/repo為repo下載本地的存放路徑
chmod a+x ~/bin/repo  

其實(shí)下載下來(lái)的repo文件只是一個(gè)使用Python編寫(xiě)的引導(dǎo)腳本(Google 稱(chēng)之為 Repo launcher,本質(zhì)上是一個(gè)python腳本,可以使用vim打開(kāi)的),完整的repo(即,repo的主體部分)還沒(méi)有下載。

repo help

查看repo幫助說(shuō)明,該幫助列舉了repo所支持的子命令,及各個(gè)子命令的簡(jiǎn)要介紹。
如果需要查看某個(gè)具體子命令的詳細(xì)介紹,執(zhí)行命令repo help 即可。例如查看repo init的幫助,可以輸入repo help init。

上一小節(jié)已經(jīng)提及到了,下載下來(lái)的repo只是一個(gè)引導(dǎo)腳本,完整的repo工具還沒(méi)有下載,此時(shí)執(zhí)行repo help命令只能看到init和help兩個(gè)子命令,而且?guī)椭畔⒅羞€會(huì)提示repo還未安裝,需要執(zhí)行repo init安裝。(需要注意repo init需要跟參數(shù)的,后面會(huì)單獨(dú)介紹repo init的使用)
當(dāng)執(zhí)行完repo init下載了完整的repo工具之后,再執(zhí)行repo help就會(huì)看到repo更多的子命令。
注意:repo init -u 后跟url地址,如果是自己項(xiàng)目,則是Android源碼項(xiàng)目源碼編輯的Repo的地址;如果是官方AOSP repo是官方配置好的,可以對(duì)比如下兩個(gè)安裝repo工具的方式:

repo init -u https://github.com/remote-android/platform_manifests.git -b redroid-11.0.0 --depth=1 --git-lfs # 自定義repo工具中描述源碼倉(cāng)庫(kù)地址組織形式
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.0.0_r1 # 官方AOSP repo中源碼倉(cāng)庫(kù)組織形式
或者
repo init -u https://android.googlesource.com/platform/manifest -b android-12.0.0_r12
如果需要某個(gè)特定的 Android 版本,特定版本標(biāo)記查看
<https://source.android.google.cn/docs/setup/about/build-numbers?hl=zh-cn#source-code-tags-and-builds>

repo init -u 命令效果
首先當(dāng)前目錄產(chǎn)生一個(gè).repo目錄
然后克隆一份repo的源代碼到.repo/repo下,里面存放了其他repo子命令,即repo的主體部分。
接著從manifest_git_path倉(cāng)庫(kù)地址clone清單庫(kù)到.repo/manifests和.repo/manifests.git目錄。
同時(shí).repo目錄下還包括manifest倉(cāng)庫(kù)(清單庫(kù))內(nèi)容

.repo文件夾簡(jiǎn)介
執(zhí)行repo init命令之后,會(huì)在當(dāng)前目錄創(chuàng)建一個(gè).repo文件夾。

文件夾            描述
manifests          manifest倉(cāng)庫(kù)(清單庫(kù))內(nèi)容,即repo init的-u選項(xiàng)對(duì)應(yīng)的倉(cāng)庫(kù)
manifests.git      manifest倉(cāng)庫(kù)(清單庫(kù))的.git目錄
manifest.xml      指明當(dāng)前生效的Manifest文件,即repo init的-m選項(xiàng)對(duì)應(yīng)的參數(shù)(沒(méi)有該選項(xiàng)時(shí)默認(rèn)為default.xml)
repo                 repo命令的主體,包含了最新的 repo 命令

manifest文件分析

所謂manifest倉(cāng)庫(kù)(清單庫(kù))其實(shí)就是存放manifest(清單)文件的倉(cāng)庫(kù),實(shí)際上可以是任意倉(cāng)庫(kù),只要該倉(cāng)庫(kù)中存在repo init命令-m選項(xiàng)指定的manifest文件即可,清單庫(kù)命名為manifest只不過(guò)是一種約定俗成的寫(xiě)法罷了。
manifest倉(cāng)庫(kù)一般都會(huì)有一個(gè)manifests\default.xml文件,該文件為默認(rèn)的manifest文件。

<?xml version="1.0" encoding="UTF-8"?>
<manifest><remote  name="aosp"fetch="https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/"review="https://android-review.googlesource.com/" /><default revision="refs/tags/android-12.0.0_r32"remote="aosp"sync-j="4" /><superproject name="platform/superproject" remote="aosp" revision="android-12.0.0_r32" /><contactinfo bugurl="go/repo-bug" /><project path="build/make" name="platform/build" groups="pdk" ><copyfile src="core/root.mk" dest="Makefile" /><linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" /><linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" /><linkfile src="core" dest="build/core" /><linkfile src="envsetup.sh" dest="build/envsetup.sh" /><linkfile src="target" dest="build/target" /><linkfile src="tools" dest="build/tools" /></project><project path="build/bazel" name="platform/build/bazel" groups="pdk" ><linkfile src="bazel.WORKSPACE" dest="WORKSPACE" /><linkfile src="bazel.sh" dest="tools/bazel" /><linkfile src="bazel.BUILD" dest="BUILD" /></project><project path="build/blueprint" name="platform/build/blueprint" groups="pdk,tradefed" /><project path="build/pesto" name="platform/build/pesto" groups="pdk" /><project path="build/soong" name="platform/build/soong" groups="pdk,tradefed" ><linkfile src="root.bp" dest="Android.bp" /><linkfile src="bootstrap.bash" dest="bootstrap.bash" /></project><project path="art" name="platform/art" groups="pdk" /><project path="bionic" name="platform/bionic" groups="pdk" /><project path="bootable/recovery" name="platform/bootable/recovery" groups="pdk" /><project path="bootable/libbootloader" name="platform/bootable/libbootloader" groups="vts,pdk" /><project path="compatibility/cdd" name="platform/compatibility/cdd" groups="pdk" /><project path="cts" name="platform/cts" groups="cts,pdk-cw-fs,pdk-fs" /><project path="dalvik" name="platform/dalvik" groups="pdk-cw-fs,pdk-fs" /><project path="developers/build" name="platform/developers/build" groups="developers,pdk" />省略一部分....<repo-hooks in-project="platform/tools/repohooks" enabled-list="pre-upload" />
</manifest>

清單文件各元素解釋

  1. <manifest> 根標(biāo)簽
    這個(gè)是配置的頂層元素,即根標(biāo)志

  2. <remote> 標(biāo)簽
    remote元素可以有多個(gè),用于存在多個(gè)git遠(yuǎn)程服務(wù)器的情況。

    • name 即表示每個(gè)git的遠(yuǎn)程服務(wù)器的名字(這個(gè)名字很關(guān)鍵,如果多個(gè)remote屬性的話(huà),default屬性中需要指定default remote)。git pull、get fetch的時(shí)候會(huì)用到這個(gè)remote name。

    • fetch :所有g(shù)it url真正路徑的前綴,所有g(shù)it 的project name(就是后面的project標(biāo)簽的name元素)加上這個(gè)前綴,就是git url的真正路徑;如果使用此remote的所有項(xiàng)目的前綴和manifest倉(cāng)庫(kù)前置一致的話(huà),可以使用…代替。

      repo init -u https://github.com/remote-android/platform_manifests.git -b redroid-11.0.0 的manifest倉(cāng)庫(kù)前置https://github.com/remote-android/

    • review:通過(guò)repo upload將評(píng)論上傳到的 Gerrit 服務(wù)器的主機(jī)名。 該屬性是可選的; 如果未指定,則repo upload將不起作用。

    • alias:該屬性可以省略,當(dāng)指定了該屬性時(shí),可以覆蓋name屬性設(shè)置每個(gè)項(xiàng)目的.git/config中的遠(yuǎn)程名稱(chēng)。不同remote元素的alias屬性可以相同,比如不同remote元素的alias屬性可以都是origin。

  3. <default>標(biāo)簽元素
    default元素只能有一個(gè)。設(shè)定所有project標(biāo)簽的默認(rèn)屬性值,如果在project元素里沒(méi)有指定一個(gè)屬性,則使用default元素的屬性值。

    • remote :遠(yuǎn)程服務(wù)器的名字(上面remote屬性中提到過(guò),多個(gè)remote的時(shí)候需要指定default remote,就是這里設(shè)置了)
    • revision :所有g(shù)it的默認(rèn)branch,后面project沒(méi)有特殊指出revision的話(huà),就用這個(gè)branch
    • sync_j : 在repo sync中默認(rèn)并行的數(shù)目
  4. <superproject> 標(biāo)簽是該清單文件中的一個(gè)元素,用于定義一個(gè)超級(jí)項(xiàng)目(也稱(chēng)為"manifest項(xiàng)目")。
    超級(jí)項(xiàng)目是一個(gè)特殊的項(xiàng)目,它通常用于組織多個(gè)子項(xiàng)目。在Android源代碼管理中,這些子項(xiàng)目可以是不同的軟件組件、庫(kù)、應(yīng)用程序等。超級(jí)項(xiàng)目本身通常不包含實(shí)際的源代碼,它主要用于管理和同步這些子項(xiàng)目的代碼。
    default.xml 文件中的 superproject 標(biāo)簽主要包含以下信息:

    • name 屬性:指定超級(jí)項(xiàng)目的名稱(chēng)。這個(gè)名稱(chēng)通常是一個(gè)唯一標(biāo)識(shí)符,用于區(qū)分不同的超級(jí)項(xiàng)目。
    • path 屬性:指定超級(jí)項(xiàng)目的路徑。這是超級(jí)項(xiàng)目在本地文件系統(tǒng)中的相對(duì)路徑,Repo將會(huì)在該路徑下創(chuàng)建一個(gè)文件夾來(lái)管理超級(jí)項(xiàng)目。
    • remote 屬性:指定與超級(jí)項(xiàng)目相關(guān)聯(lián)的Git遠(yuǎn)程存儲(chǔ)庫(kù)的名稱(chēng)。這個(gè)遠(yuǎn)程存儲(chǔ)庫(kù)通常包含了清單文件的信息以及管理所有子項(xiàng)目的信息。
    • revision 屬性:指定要使用的Git分支、標(biāo)簽或提交ID。這決定了超級(jí)項(xiàng)目所管理的子項(xiàng)目的版本。
  5. <project> 標(biāo)簽
    需要clone的單獨(dú)git,每一個(gè)代表了一個(gè)可以被clone到工作區(qū)的倉(cāng)庫(kù),定義了一個(gè) Git 倉(cāng)庫(kù)項(xiàng)目的配置信息。

    • name :git 的名稱(chēng),用于生成git url。URL格式是: r e m o t e f e t c h / {remote fetch}/ remotefetch/{project name}.git 其中的 fetch就是上面提到的remote中標(biāo)簽的fetch屬性,name 就是此處的name;如果這個(gè)project有一個(gè)parent屬性,則該project最終的url會(huì)被這樣拼湊
      r e m o t e f e t c h / {remote_fetch}/ remotef?etch/{project_parent}/${project_name}.git
    • path :指定倉(cāng)庫(kù)在本地文件系統(tǒng)中的路徑。clone到本地的git的工作目錄,如果沒(méi)有配置的話(huà),使用name屬性值;相對(duì)于repo的根目錄而言的相對(duì)路徑;
    • remote :指定該倉(cāng)庫(kù)使用的遠(yuǎn)程倉(cāng)庫(kù)的名稱(chēng)。定義remote name,如果沒(méi)有定義的話(huà)就用default中定義的remote name
    • revision :指定該倉(cāng)庫(kù)使用的分支、標(biāo)簽或提交。指定需要獲取的git提交點(diǎn),可以定義成固定的branch,或者是明確的commit 哈希值
    • groups :指定該倉(cāng)庫(kù)所屬的分組,用于組織倉(cāng)庫(kù)。列出project所屬的組,以空格或者逗號(hào)分隔多個(gè)組名。所有的project都自動(dòng)屬于"all"組。每一個(gè)project自動(dòng)屬于name:‘name’ 和path:'path’組。例如,它自動(dòng)屬于default, name:monkeys, and path:barrel-of組。如果一個(gè)project屬于notdefault組,則,repo sync時(shí)不會(huì)下載
  6. copyfile 標(biāo)簽
    project元素的子元素,每個(gè)元素描述了一對(duì) src-dest 文件對(duì)。同步時(shí)(即執(zhí)行repo sync命令時(shí))src文件會(huì)被拷貝到dest。通常會(huì)被用于 README 或 Makefile 或其他構(gòu)建腳本。

    • dest:是相對(duì)于當(dāng)前目錄(執(zhí)行repo init和repo sync命令的目錄)的路徑
    • src:是相對(duì)于project標(biāo)簽的path屬性值的相對(duì)路徑
  7. linkfile標(biāo)簽
    與copyfile類(lèi)似,只不過(guò)不是拷貝,而是進(jìn)行一個(gè)符號(hào)鏈接。

  8. include 標(biāo)簽
    通過(guò)name屬性可以引入另外一個(gè)manifest文件(路徑相對(duì)與當(dāng)前的manifest.xml 的路徑),name:另一個(gè)需要導(dǎo)入的manifest文件名字
    可以在當(dāng)前的路徑下添加一個(gè)another_manifest.xml,這樣可以在另一個(gè)xml中添加或刪除project

  9. remove-project 標(biāo)簽
    從內(nèi)部的manifest表中刪除指定的project。用于從清單文件中移除一個(gè)項(xiàng)目。這可以用于停止同步某個(gè)項(xiàng)目的代碼。

  10. annotation標(biāo)簽
    提供對(duì) 元素的注釋,用于描述倉(cāng)庫(kù)的用途或其他信息。

  11. repo-hooks 標(biāo)簽
    用于定義 Repo 在執(zhí)行特定操作時(shí)應(yīng)該觸發(fā)的鉤子(hooks)腳本。Repo 鉤子是一種機(jī)制,允許你在特定的 Git 操作發(fā)生時(shí)自動(dòng)執(zhí)行一些自定義的腳本或命令。

    • in-project:指定鉤子腳本的相對(duì)路徑,這是相對(duì)于當(dāng)前 Repo 的路徑。這個(gè)屬性通常用于為特定 Repo 設(shè)置鉤子腳本,而不是全局設(shè)置。
    • enabled-list:一個(gè)用逗號(hào)分隔的鉤子名稱(chēng)列表,指定哪些鉤子應(yīng)該在當(dāng)前 Repo 上啟用。這允許你選擇性地啟用或禁用 Repo 鉤子。

搭建repo服務(wù)

  • 簡(jiǎn)而言之:
    部署通用的工具倉(cāng)庫(kù)git-repo.git。
    部署自己的清單倉(cāng)庫(kù)manifests.git。
    編寫(xiě)清單文件manifests.xml
    批量創(chuàng)建工程子倉(cāng)庫(kù)和上傳源代碼。
http://www.risenshineclean.com/news/50948.html

相關(guān)文章:

  • 網(wǎng)站怎么做微信支付寶電商網(wǎng)站開(kāi)發(fā)平臺(tái)
  • 免費(fèi)網(wǎng)站開(kāi)發(fā)公司百度競(jìng)價(jià)可以自學(xué)嗎
  • 如何注冊(cè)個(gè)人網(wǎng)站cnn頭條新聞
  • 自助建站平臺(tái)便宜營(yíng)銷(xiāo)型網(wǎng)站特點(diǎn)
  • 在線觀看視頻網(wǎng)站怎么做活動(dòng)推廣宣傳方案
  • 一般網(wǎng)站建設(shè)多少錢(qián)怎么才能讓百度收錄網(wǎng)站
  • 哪些網(wǎng)站可以做教師資格證題目seo網(wǎng)絡(luò)優(yōu)化軟件
  • 嘉興網(wǎng)站公司哪家好上海seo優(yōu)化培訓(xùn)機(jī)構(gòu)
  • 安裝wordpress 500 - 內(nèi)部服務(wù)器錯(cuò)誤.手機(jī)百度seo怎么優(yōu)化
  • 建設(shè)網(wǎng)站要在需求長(zhǎng)沙縣網(wǎng)絡(luò)營(yíng)銷(xiāo)咨詢(xún)
  • 前端特效網(wǎng)站cnzz統(tǒng)計(jì)
  • photoshop怎么做網(wǎng)站百度網(wǎng)站關(guān)鍵詞排名查詢(xún)
  • 龍海市城鄉(xiāng)規(guī)劃建設(shè)局網(wǎng)站優(yōu)化網(wǎng)站內(nèi)容
  • 嘉興制作網(wǎng)站企業(yè)西安seo外包優(yōu)化
  • 贛州做公司網(wǎng)站手機(jī)網(wǎng)站智能建站
  • 嘉興企業(yè)網(wǎng)站開(kāi)發(fā)可以免費(fèi)發(fā)帖的網(wǎng)站
  • asp.net做的音樂(lè)網(wǎng)站杭州最專(zhuān)業(yè)的seo公司
  • 網(wǎng)站自助建設(shè)平臺(tái)有哪些廣州競(jìng)價(jià)托管公司
  • 做企業(yè)網(wǎng)站推廣多少錢(qián)百度官方網(wǎng)站登錄
  • 做曖曖視頻網(wǎng)站安全嗎百度營(yíng)銷(xiāo)官網(wǎng)
  • 網(wǎng)站建設(shè)好公司好營(yíng)銷(xiāo)網(wǎng)站做的好的公司
  • 做問(wèn)卷哪個(gè)網(wǎng)站好愛(ài)站網(wǎng)關(guān)鍵詞密度
  • wordpress獲取當(dāng)前頁(yè)面鏈接seo搜索優(yōu)化專(zhuān)員
  • 如何在雅虎臺(tái)灣做企業(yè)網(wǎng)站站長(zhǎng)工具綜合查詢(xún)2020
  • 網(wǎng)站 平臺(tái)建設(shè)情況介紹優(yōu)化公司網(wǎng)站排名
  • 電腦網(wǎng)站模板網(wǎng)頁(yè)模板免費(fèi)下載
  • 禪城區(qū)網(wǎng)站建設(shè)公司優(yōu)化網(wǎng)站平臺(tái)
  • 可以做軟文的網(wǎng)站營(yíng)銷(xiāo)策略范文
  • 網(wǎng)站建設(shè)熊貓建站百度如何發(fā)布作品
  • 做網(wǎng)站需要買(mǎi)空間么 服務(wù)器福州百度開(kāi)戶(hù)多少錢(qián)