Repo 命令參考文件

2021-10-01 02:57:43 字數 3332 閱讀 5619

repo 簡化了跨多個**庫執行的流程,與 git 相輔相成。請參閱源**控制工具,了解有關 repo 和 git 之間關係的說明。如需詳細了解 repo,請參閱 repo readme。

使用 repo 需遵循的格式如下:

repo command options
可選元素顯示在方括號 [ ] 中。例如,許多命令會用到專案列表 (project-list) 引數。專案列表可以是乙個名稱列表,也可以是乙個本地源**目錄的路徑列表:

repo sync [project0 project1 ... projectn]repo sync [/path/to/project0 ... /path/to/projectn]
此頁面僅重點介紹重要選項。要了解完整詳情,請參閱命令列幫助。安裝 repo 後,您可以通過執行以下命令找到最新文件(開頭是所有命令的摘要):

repo help
您可以通過在 repo 樹中執行以下命令來檢視有關某個命令的詳細資訊:

repo help command
repo help init
如果您僅想檢視可用選項的列表,請執行:

repo command --help
例如:

repo init --help
repo init -u url [options]
在當前目錄中安裝 repo。這樣會建立乙個.repo/目錄,其中包含 repo 源**和標準 android 清單檔案的 git **庫。該.repo/目錄中還包含manifest.xml,該檔案是乙個指向.repo/manifests/目錄中所選清單的符號鏈結。有關更新清單的說明,請參閱 manifest-format.md。

選項:注意:對於其餘的所有 repo 命令,當前工作目錄必須是.repo/的父目錄或該父目錄的子目錄。

repo sync [project-list]
執行repo sync後,將出現以下情況:

repo sync執行成功後,指定專案中的**即處於最新狀態,已與遠端**庫中的**同步。

repo upload [project-list]
對於指定的專案,repo 會將本地分支與最後一次 repo sync 時更新的遠端分支進行比較。repo 會提示您選擇乙個或多個尚未上傳以供審核的分支。

當 gerrit 通過其伺服器接收物件資料時,它會將每項提交轉變成一項更改,以便審核者可以針對特定提交給出意見。要將幾項「檢查點」提交合併為一項提交,請執行git rebase -i然後再執行 upload。

如果您在未使用任何引數的情況下執行repo upload,則該操作會搜尋所有專案中的更改以進行上傳。

要在更改上傳後對其進行修改,請使用git rebase -igit commit --amend等工具更新您的本地提交。修改完成之後,請執行以下操作:

上傳完成後,這些更改將擁有乙個額外的補丁程式集。

如果您希望只上傳當前已檢出的 git 分支,則可以使用標記--current-branch(簡稱--cbr)。

repo diff [project-list]
使用git diff顯示提交與工作樹之間的明顯更改。

repo download target change
repo download platform/build 23823
執行repo sync會刪除使用repo download檢索到的任何提交。或者,您可以使用git checkout m/master檢出遠端分支。

注意:由於全球的所有伺服器均存在複製延遲,因此某項更改出現在網路上(位於 gerrit 中)的時間與所有使用者可通過repo download找到此項更改的時間之間存在些許的映象延遲。

repo forall [project-list] -c command
在每個專案中執行指定的 shell 命令。通過repo forall可使用下列額外的環境變數:

選項:

repo prune [project-list]
刪減(刪除)已合併的主題。

repo start

branch-name [project-list]

從清單中指定的修訂版本開始,建立乙個新的分支進行開發。

branch_name引數用於簡要說明您嘗試對專案進行的更改。如果您不知道,則不妨考慮使用名稱default

project-list引數指定了將參與此主題分支的專案。

注意:句點 (.) 是乙個簡寫形式,用來代表當前工作目錄中的專案。

repo status [project-list]
對於每個指定的專案,將工作樹與臨時區域(索引)以及此分支 (head) 上的最近一次提交進行比較。在這三種狀態存在差異之處顯示每個檔案的摘要行。

要僅檢視當前分支的狀態,請執行repo status。系統會按專案列出狀態資訊。對於專案中的每個檔案,系統使用兩個字母的**來表示:

在第一列中,大寫字母表示臨時區域與上次提交狀態之間的不同之處。

字母含義說明-

沒有變化

在 head 與索引中相同

a已新增

不存在於 head 中,但存在於索引中

m已修改

存在於 head 中,但索引中的檔案已修改

d已刪除

存在於 head 中,但不存在於索引中

r已重新命名

不存在於 head 中,索引中檔案的路徑已更改

c已複製

不存在於 head 中,複製自索引中的另乙個檔案

t模式已更改

head 與索引中的內容相同,但模式已更改

u未合併

head 與索引之間存在衝突;需要加以解決

在第二列中,小寫字母表示工作目錄與索引之間的不同之處。

字母含義說明-

新/未知

不存在於索引中,但存在於工作樹中

m已修改

存在於索引中,也存在於工作樹中(但已修改)

d已刪除

存在於索引中,但不存在於工作樹中

參考 repo 的用法

或者 curl 用repo sync 在抓去 android source code 的時候,會經常出現一些錯誤導致 repo sync 中斷,每次都要手動開始。可以用如下的命令,來自動重複 1 while ne 0 do repo sync done repo help command 顯示com...

參考 repo的用法(zz

repo的用法 zz yce平坦軟體園 wget yce平坦軟體園 或者 yce平坦軟體園 curl bin repo yce平坦軟體園 用repo sync 在抓去 android source code 的時候,會經常出現一些錯誤導致 repo sync 中斷,每次都要手動開始。可以用如下的命令...

Debug參考文件

本來想自己整理一下linux除錯過程中常用的有哪一些的除錯工具,無意中發現了乙個 類似於開源書籍。中已經對於常用的一些除錯命令,做了很好的總結。這些命令主要包括 ps,top,vmstat,iostat,strace,free等,還包含了一些其它的常規命令 gdb,ldd,nm,lsof,reade...