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

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

Repo 命令手冊(cè)

Repo 的使用形式如下:

repo <COMMAND> <OPTIONS>

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

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

幫助

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

repo help

在 Repo 目錄中運(yùn)行如下這個(gè),你可以獲得任何命令的信息:

repo help <COMMAND>

初始化

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

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

選項(xiàng):

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

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

同步

repo sync [<PROJECT_LIST>]

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

當(dāng)你運(yùn)行 repo sync,將會(huì)發(fā)生:

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

      git remote update   
      git rebase origin/<BRANCH>

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

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

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

選項(xiàng):

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

上傳

repo upload [<PROJECT_LIST>]

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

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

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

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

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

  • 確保更新的分支是當(dāng)前已審查的分支。
  • 在系列里的每個(gè) commit 的括號(hào)內(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.

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

差異

repo diff [<PROJECT_LIST>]

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

下載

repo download <TARGET> <CHANGE>

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

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

$ repo download platform/build 23823

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

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

forall

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

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

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

選項(xiàng):

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

刪減

repo prune [<PROJECT_LIST>]

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

開始

repo start <BRANCH_NAME> [<PROJECT_LIST>]

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

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

<PROJECT_LIST> 指定將要參與這個(gè)主題分支的項(xiàng)目。

注意:"." 是當(dāng)前工作目錄下的項(xiàng)目的一個(gè)方便的簡(jiǎn)寫。

狀態(tài)

repo status [<PROJECT_LIST>]

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

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

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

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

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

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