一些專案可能會用到多個git專案庫(例如我負責的使用了14個git專案),如果每次更新**都要去庫里git pull,非常耗時費力,所以repo庫管理就顯得非常重要了。
repo是用python實現的,指令碼本質仍然是通過git來管理**的,下面具體說下repo服務端倉庫的搭建方法:
1、安裝和配置相關軟體
yum install python-setuptools git
easy_install pip
pip install git-review
git clone
cp git-repo/repo /bin/ && path=~/bin:$path
2、建立 manifest 倉庫
在github/gitlab 上建立乙個mainfest 倉庫,預設分支為master,並且轉殖到本地。
3、在mainfest庫里增加xml 檔案
thinkcloud_sds.xml 內容大致如下,其中remote、default 對應repo庫管理的路徑和分支,project 可以有多個,每個對應乙個git專案。
<?xml version="1.0" encoding="utf-8"?>
4、拉取所有git專案**
建立新的目錄並進入,執行如下命令
repo init -u -m thinkcloud_sds.xml
repo sync
附:一些repo 用法
repor sync
repo start new_branch_name […] || --all
repo branches
repo checkout branch_name
repo diff […]
repo stage -i […] 是對 git add -i 的封裝
repo prune […] 刪除已經合併的分支,是git branch -d 的封裝
repo abandon
[…] 是對git branch -d 的封裝
repo status […] 是對git diff-index、git diff-filse命令的封裝
建立本地repo 管理倉庫
repo是乙個將多個git tree進行系統管理的工具,repo本身不是乙個源 版本管理系統,它只是聯合manifest.git中project list xml的多個工程,統一管理。在執行repo sync的情況下,xml檔案中指定的工程都統一被sync下來。下面用最簡單的例項證明如何建議乙個re...
repo管理git倉庫 回退版本
1.repo回退所有git倉庫到指定日期之前 repo forall c commitid git log before 2019 01 01 07 00 1 pretty format h git reset hard commitid 2.repo回退到某tag 先去隨意git倉庫下,git t...
基於Repo和Git的版本管理
涉及android源 的工作需要用到的git和repo工具。多數情況下我們可以用git工具代替repo,或者兩者混用組合成更複雜的命令。而repo工具可以使android的網路操作更加簡潔。git是乙個開源版本管理系統,旨在處理各種知識庫發布的大型專案。一般來說,我們可以使用git進行本地操作,比如...