建立repo庫管理多個git專案

2021-10-10 20:21:07 字數 1142 閱讀 1872

一些專案可能會用到多個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進行本地操作,比如...