repo使用小結

2021-06-20 09:38:52 字數 4804 閱讀 5115

可能出現的錯誤:

fatal: cannot get

如果出現這個錯誤 則unset下http 和https的**

使用下面命令,具體版本號參考前面網頁中顯示的最新版本號。

curl

> ~/bin/repo

修改執行許可權 

chmod a+x ~/bin/repo

本地建立乙個工程目錄,並進去

repo init -u git: (git位址)

-b master

repo

並轉殖manifest

options: l

-u:指定乙個

url,其連線到乙個

maniest倉庫

l -m:

在manifest

倉庫中選擇乙個

xml檔案 l

-b:選擇乙個

maniest

倉庫中的乙個特殊的分支 命令

repo init

要完成如下操作: ø

完成repo

repo

指令碼只是引導程式 ø

轉殖清單庫

manifest.git (

位址來自於

-u引數)

ø 轉殖的清單庫位於

manifest.git

中,轉殖到本地

.repo/manifests.

清單.repo/manifest.xml

只是符號鏈結,它指向

.repo/manifests/default.xml ø

如果manifests

中有多個

xml檔案,

repo init

可以任意選擇其中乙個,預設選擇是

default.xml

repo sync  更新**到最新的版本

用於參照清單檔案

.repo/manifest.xml

轉殖並同步版本庫。如果某個專案版本庫尚不存在,則執行

repo sync

命令相當於執行

git clone

,如果專案版本庫已經存在,則相當於執行下面的兩條指令: l

git remote update

相當於對每乙個

remote

源執行了

fetch操作

l git rebase origin/branch

針對當前分支的跟蹤分支執行

rebase

操作。

4.建立並切換本地分支

repo start 

usage: repo start [--all | ...]

剛轉殖下來的**是沒有分支的

,repo start

實際是對

git checkout –b

命令的封裝。為指定的專案或所有專案(若使用

—all

引數,以清單檔案中為設定的分支,建立特性分支。這條指令與

git checkout –b

還是有很大的區別的,

git checkout –b

是在當前所在的分支的基礎上

建立特性分支,而

repo start

是在清單檔案設定分支的基礎上建立特性分支。

options:

-h, --help  顯示幫助資訊

--all      在所有工程中都新建乙個分支

例:repo start

stable

--all

迭代器,可以在所有指定的專案中執行同乙個

shell指令

-c command,對所有專案執行乙個command命令,這個命令 相當 好用;

例:repo forall -c git status  只顯示每個工程的狀態,但是不顯示工程名 和repo status

-p 在輸出之前顯示專案名稱

例: repo forall -p -c git status  先輸出工程名之後,再執行命令

-v(—verbose) 顯示命令錯誤資訊

-e(—abort-on-errors) 中止如果命令沒有成功退出

lrepo_project:指定專案的名稱

lrepo_path:指定專案在工作區的相對路徑

lrepo_remote:指定專案遠端倉庫的名稱

lrepo_lrev:指定專案最後一次提交伺服器倉庫對應的雜湊值

lrepo_rrev:指定專案在轉殖時的指定分支,manifest裡的revision屬性

另外,如果-c後面所帶的shell指令中有上述環境變數,則需要用單引號把shell指令括起來。

例:repo forall –c 』echo $repo_project『  輸出工程名

之前git的各種命令都可以在通過這個命令在各個工程中執行。

例 merge(合併多個分支)

把所有專案多切換到master分支,執行以下指令將topic分支合併到master分支

repo forall –p –c git merge topic

例:本地每個工程都新建乙個分支並跟蹤遠端的乙個分支

repo forall -p -c git checkout -b  abc —track origin/abc

例:tag(打標籤)

repo forall -p –c git tag crane-stable-1.6

例:remote(設定遠端倉庫)

repo forall -p –c 『git remote add korg

ssh:

例:本地每個工程都建立乙個git 分支

repo forall -p –c git branch crane-dev

repo forall  -p –c git checkout –b crane-dev

例:所有工程中的改動全部回退

repo forall -p -c git reset --hard head

6.

repo upload

usage: repo upload [--re --cc] ...

描述:repo upload 命令是用來傳送改變到

gerrit **審核系統中去。它搜尋topic branches(當前話題分支)在本地工程中還未通過review公開,如果多個topic branches存在, repo會開啟乙個editor(編輯工具)讓使用者選擇那個分支去上傳.

repo upload 搜尋在所有工程可以上傳的改動在命令列中顯示出來,(projects 引數)工程可以指定名字或者本地工程的相對路徑或者絕對路徑,如果沒有指定,那麼會在所有工程中搜尋所有的可以上傳的改動.

如果—reviewers 或者 —cc選項被忽略啦,那些郵件會被傳送到使用者各自的列表中(those emails are added to

the respective list of users),而且電子郵件會被傳送給任何新使用者.

—reviewers 指定的必須是已經在**審核系統中註冊過的使用者,否則upload會失敗

上傳修改的** ,如果你本地的**有所修改,那麼在執行 repo sync 的時候,會提示你上傳修改的**,所有修改的**分支會上傳到 gerrit (基於web 的**review 系統), gerrit 受到上傳的**,會轉換為乙個個變更,從而可以讓人們來review 修改的**。 

-t       提交當前分支名到

gerrit**評審系統

--re=reviewers, --reviewers=reviewers     讓指定的人來審核

—cc=cc     同時傳送郵件

—br=branch  分支上傳

-d, --draft   如果指定分支,upload as a draft.(像匯票一樣上傳?)

-d branch, --destination=branch, --dest=branch   上傳到指定分支等待審核

--no-verify  

do not run the upload hook.(不執行upload 掛鉤)

--verify              run the upload hook without prompting.不經過提示就上傳掛鉤

7.repo list

列出工程和他們專案的目錄

options:

-h, --help       檢視幫助資訊

-f, —fullpath    檢視工程的完整路徑 

-n, --name-only  檢視工程的名字

-p, --path-only  檢視工程路徑名字

8.repo info

獲取manifest branch 資訊,當前分支或者是沒合併的分支

usage: repo info [-dl] [-o [-b]] [...]

options:

-h, --help            show this help message and exit 

-d, —diff             顯示遠端分支中的完整的資訊和提交記錄 

-o, —overview         顯示所有本地記錄的概略  

-b, --current-branch  consider only checked out branches  

-l, --local-only      disable all remote operations

9.repo help

如:repo help info 

Repo 的使用小結

一 安裝 建立目錄和修改環境變數 mkdir bin path bin path curl bin repo chmod a x bin repo 二 幫助 repo help查詢具體命令的幫助 repo helprepo 倉庫狀態 repo help init狀態 repo status 三 初始...

repo的使用小結(一)

repo是android為了方便管理多個git庫而開發的python指令碼。repo的出現,並非為了取代git,而是為了讓android開發者更為有效的利用git。小型 很少會用到repo,單這次開發有幸用到了,小結一下。拉取 和git的流程幾乎一致 repo inite address 建立本地庫...

repo 基本使用

一 安裝 建立目錄和修改環境變數 mkdir bin path bin path curl bin repo chmod a x bin repo 二 幫助repo help查詢具體命令的幫助 repo help repo 倉庫狀態 repo help init狀態 repo status 三 初始...