repo安裝與簡單使用

一、概述

​ 當一個大的項目需要拆分成很多的子項目,或者說一個軟件系統拆分成多個子系統。 每一個子項目或者子系統都對應一個git repository。這種需求在實際項目當中是很常見的,有的可能就直接寫一個shell腳本來實現同時拉各個代碼倉庫的動作,但這樣做難免笨拙。 特別是要做系統級別的整體分支或版本發佈時,就不太方便,因此這裏就可以使用repo來進行管理,像Android這麼大的項目也都是通過repo來進行管理的。

二、安裝

這裏以Ubuntu爲例來說明。

  • 第一步: 創建repo安裝目錄
mkdir ~/bin
或者,可以創建一個隱藏文件夾,這樣避免被誤操作刪除, 在正常使用ls命令的時候,
也不會在home目錄下看到這個文件件(對應的後續步驟中的~/bin 修改爲~/.bin)

mkdir ~/.bin

  • 第二步:下載repo
wget https://storage.googleapis.com/git-repo-downloads/repo -P ~/bin/
或者
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

  • 第三步: 改變執行權限並設置環境變量(就好比“安裝”)
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH

最後設置環境變量這一句,最好是添加到  ~/.bashrc 文件中的最末尾位置,
這樣就可以自動設置好repo的環境變量。

當你執行完以上三個步驟之後,如果能訪問Google的網站的話,就可以正常使用repo了。但咱們這邊如果不翻牆的話,顯然是沒法訪問的,在使用repo init的時候,就會出現如下的錯誤:

Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle

因此這裏還需要第四步:

  • 第四步: 設置REPO_URL環境變量
如第三步一樣,在~/.bashrc 文件的最末尾添加如下內容:
export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/

這裏使用的是清華大學的鏡像源

經過這四步就可以正常的使用repo了。

三、簡單使用

一般來說repo比較常用的命令有如下幾個:

  • repo init
 repo init -u <URL> [<OPTIONS>]
 
 -u  指定repo倉庫(即manifest倉庫)的url地址, 後面[<OPTIONS>]就是可選的命令參數:
 
Manifest options:
-m :在manifest倉庫中選擇一個xml文件,如果沒有設置,就使用default.xml

-b:選擇一個maniest倉庫中的一個特殊的分支

repo Version options:(一般來說幾乎不會使用這下面的這些選項)
--repo-url:設定repo的版本庫地址。

--repo-branch:設定需要檢出的分支。

--no-repo-verify:設定不要對repo的里程碑簽名進行嚴格的驗證。

--mirror:只在repo第一次初始化的時候使用,建立本地鏡像
 
 
  • repo sync
repo sync
默認同步xml文件中定義的所有倉庫,也可以單獨指定sync哪個或哪些倉庫,如下: 
repo sync name1  name2 name3  ... 

除此之外還有如下選項:
-j : 多任務,一般8核心可以開到16任務,過多會起反作用
-c: 只下載當前分支代碼
-d: 讓工程回退到manifest指定的版本
-f: 如果某個工程同步失敗,繼續同步

  • repo start
repo start BRANCH_NAME PROJECT_NAME
創建分支,以上命令就是 給倉庫‘PROJECT_NAME’創建名爲‘BRANCH_NAME’的本地分支,
如果需要給repo管理的所有倉庫創建本地分支,其命令爲:

repo start BRANCH_NAME --all

此命令會更新manifest xml文件中的信息給對應的遠程分支 創建相應的本地分支
  • repo status
repo status  [project list] 

顯示當前工作目錄的狀態或指定工程名或者工程路徑的狀態

更多詳細的命令,可以問度娘,或者使用help參數查看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章