在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Repo 命令手冊
下載源碼
根據(jù)設(shè)備構(gòu)建
Git 資源
構(gòu)建系統(tǒng)
Android 平臺 64 位構(gòu)建指導(dǎo)
初始化編譯環(huán)境
Android 源代碼
品牌指南
已知的問題
Repo 命令手冊
構(gòu)建內(nèi)核
Bug 的生命周期
代碼主線、分支和版本
使用 Eclipse
提交補丁
下載與構(gòu)建
參與
項目角色
補丁的生命周期
提交 Bugs
關(guān)于代碼風(fēng)格的指導(dǎo)
開發(fā)
代碼名稱,標(biāo)簽和版本號

Repo 命令手冊

Repo 的使用形式如下:

repo <COMMAND> <OPTIONS>

可選元素顯示在方括號[]里面。例如,許多命令接受的項目列表作為參數(shù)。您可以指定項目列表作為名稱列表或本地源目錄的路徑列表:

repo sync [<PROJECT0> <PROJECT1> <PROJECTN>]
repo sync [</PATH/TO/PROJECT0> ... </PATH/TO/PROJECTN>]

幫助

一旦 Repo 被安裝,你可以找到總結(jié)所有命令的最新的文檔,運行:

repo help

在 Repo 目錄中運行如下這個,你可以獲得任何命令的信息:

repo help <COMMAND>

初始化

$ repo init -u <URL> [<OPTIONS>]

在當(dāng)前目錄下安裝 Repo。這會產(chǎn)生一個 .repo/ 目錄,目錄包括裝 Repo 源代碼和標(biāo)準(zhǔn) Android 清單文件的 Git 倉庫。.repo/ 目錄還包括 manifest.xml,是一個在 .repo/manifests/ 目錄選擇清單的符號鏈接。

選項:

  • -u:指定一個恢復(fù)清單倉庫的地址(URL)。常見的清單可以在 https://android.googlesource.com/platform/manifest 找到。
  • -m:在倉庫里選擇一個清單文件。如果沒有清單名稱,那么默認(rèn)是 default.xml。
  • -b:指定一個修正,例如,一個特殊的清單分支(manifest-branch)。

注意:所有剩余的 Repo 命令,在當(dāng)前工作目錄下必須是 .repo/ 的父目錄或是一個父目錄的子目錄。

同步

repo sync [<PROJECT_LIST>]

下載新的更改,更新在你本地環(huán)境中的工作文件。如果你不帶參數(shù)運行 repo sync,它將同步所有項目的文件。

當(dāng)你運行 repo sync,將會發(fā)生:

  • 如果項目從來沒有被同步過,那么 repo sync 相當(dāng)于 git clone。在遠(yuǎn)程倉庫的所有分支都被復(fù)制到本地項目目錄。
  • 如果項目曾經(jīng)已經(jīng)被同步過,那么 repo sync 相當(dāng)于:

      git remote update   
      git rebase origin/<BRANCH>

<BRANCH> 是本地項目目錄中的當(dāng)前檢查的分支。如果本地分支不跟蹤遠(yuǎn)程倉庫的分支,那么沒有同步發(fā)生的項目。

  • 如果 git rebase 操作導(dǎo)致合并沖突,你將需要使用正規(guī)的 Git 命令(例如,git rebase ——continue)去解決這個沖突。

一個成功的 repo sync 之后,指定項目中的代碼將和最新的代碼留在遠(yuǎn)程倉庫中。

選項:

  • -d:切換指定項目回到清單修正。如果該項目目前是一個主題分支那就有幫助,但清單修正是暫時需要。
  • -s:同步到一個已知的構(gòu)建 manifest-server 在當(dāng)前清單指定的元素。
  • -f:繼續(xù)同步其他項目,即使有項目同步失敗。

上傳

repo upload [<PROJECT_LIST>]

在指定的項目中,Repo 把本地分支的更新比作遠(yuǎn)程分支在最后一次 Repo 同步。Repo 會提示你選擇一個或更多尚未上傳審查的分支。

你選擇一個或更多分支時,選到的分支上所有的 commits 會通過 HTTPS 連接傳送到 Gerrit。你將需要配置一個 HTTPS 密碼去啟用上傳授權(quán)。查看 密碼生成器 生成新的用戶名/密碼配對去使用 HTTPS。

當(dāng) Gerrit 在它的服務(wù)器接收到對象數(shù)據(jù)時,它會把每個 commit 轉(zhuǎn)變成更改,所以審閱者可以單獨的評論每條 commit。將幾條 “checkpoint” commits 一起合并到一條單個的 commit 上,然后在你運行 repo upload 之前使用 git rebase -i 。

如果你不帶參數(shù)運行 repo upload,它將搜索所有項目上傳的更改。

在更改(changes)上傳之后進(jìn)行編輯,你應(yīng)該使用一個類似 git rebase -igit commit --amend 的工具去更新你的本地的 commits。你所有編輯完成之后:

  • 確保更新的分支是當(dāng)前已審查的分支。
  • 在系列里的每個 commit 的括號內(nèi)輸入 Gerrit 改變 ID:

      # Replacing from branch foo 
      [ 3021 ] 35f2596c Refactor part of GetUploadableBranches to lookup one specific...
      [ 2829 ] ec18b4ba Update proto client to support patch set replacments 
      # Insert change numbers in the brackets to add a new patch set.
      # To create a new change record, leave the brackets empty.

上傳完成后,更改將會有一個額外的補丁集(Patch Set)。

差異

repo diff [<PROJECT_LIST>]

在 commit 和工作目錄之間使用 git diff 顯示明顯差異的更改。

下載

repo download <TARGET> <CHANGE>

從審查系統(tǒng)下載指定的更改,然后使它在你的項目的本地工作目錄中可用。

例如,下載 change 23823 到你的平臺/框架/基本目錄:

$ repo download platform/build 23823

一個 repo sync 應(yīng)該可以有效地移除任何通過 repo download 恢復(fù)的 commit。或者,你可以檢查遠(yuǎn)程分支;例如,git checkout m/master。

注意:當(dāng)更改在 Gerrit 網(wǎng)絡(luò)上可見時和 repo download 被所有用戶找到時,期間,有一個輕微的鏡像滯后,因為復(fù)制延遲存在于全世界所有的服務(wù)器。

forall

repo forall [<PROJECT_LIST>] -c <COMMAND>

在每個項目中被給予的 shell 命令。如下的附加環(huán)境變量是通過 repo forall 才變得有效的:

  • REPO_PROJECT 設(shè)置項目唯一的名稱。
  • REPO_PATH 是相對于客戶端 root 的路徑。
  • REPO_REMOTE 是清單中遠(yuǎn)程系統(tǒng)的名稱。
  • REPO_LREV 是清單中修訂本的名字,翻譯成一個本地跟蹤分支。如果你需要通過清單修正去本地執(zhí)行 git 命令的時候可以使用。
  • REPO_RREV 是清單中修訂本的名字,正如在清單中所寫的那樣。

選項:

  • -c:執(zhí)行命令和參數(shù)。命令是通過 /bin/sh 評估的并且后面的任何參數(shù)就如 shell 位置的參數(shù)通過。
  • -p:在指定命令的輸出前顯示項目標(biāo)題。這是通過綁定管道到命令的stdin,stdout,和 sterr 流,并且用管道輸送所有輸出量到一個連續(xù)的流,顯示在一個單一的頁面調(diào)度會話中。
  • -v:顯示命令寫到 sterr 的信息。

刪減

repo prune [<PROJECT_LIST>]

刪減(刪除)已經(jīng)合并的標(biāo)題。

開始

repo start <BRANCH_NAME> [<PROJECT_LIST>]

一個新分支的發(fā)展,從清單中指定的修正開始的。

<BRANCH_NAME> 參數(shù)應(yīng)該提供一個更改的簡短說明給你正在嘗試建立的項目。如果你不知道,那就考慮使用默認(rèn)名稱。

<PROJECT_LIST> 指定將要參與這個主題分支的項目。

注意:"." 是當(dāng)前工作目錄下的項目的一個方便的簡寫。

狀態(tài)

repo status [<PROJECT_LIST>]

比較工作目錄和暫存區(qū)(索引),和這個分支(HEAD)在每個項目指定的最近一次提交。為每個不同于這三個狀態(tài)的文件展示一個摘要行。

運行 repo status ,查看當(dāng)前分支的狀態(tài)。狀態(tài)信息將會在項目中列表出來。項目中的每個文件,兩個字母的代碼是經(jīng)常被使用的:

在第一列中,大寫字母表明了暫存區(qū)和最后一次提交狀態(tài)的差異。

字母 含義 描述
- 無變化 在 HEAD 和在索引中是一樣的
A 增加 不在 HEAD, 在索引
M 修改 在 HEAD, 在索引表示修改
D 刪除 在 HEAD, 不在索引
R 重命名 不在 HEAD, 在索引中改變路徑
C 復(fù)制 不在 HEAD, 在索引中復(fù)制另一份
T 改變模式 在 HEAD 和在索引中是一樣的內(nèi)容, 改變模式
U 拆分 HEAD 和索引之間有沖突; 要求解決

在第二列中,一個小寫字母表明了工作目錄和索引的差異。

字母 含義 描述
- 新建/未知 不在索引, 在工作目錄
m 修改 在索引, 在工作目錄, 修改
d 刪除 在索引, 不在工作目錄
上一篇:Git 資源下一篇:開發(fā)