repo是乙個將多個git tree進行系統管理的工具,repo本身不是乙個源**版本管理系統,它只是聯合manifest.git中project list xml的多個工程,統一管理。在執行repo sync的情況下,xml檔案中指定的工程都統一被sync下來。
下面用最簡單的例項證明如何建議乙個repo服務。
1. 進入home目錄,建立repo-server子目錄,如/home/lihacker/repo-server
2. 在該目錄中新建乙個manifest.git目錄,初始化為乙個git tree
即執行git init
3. 在/home/lihacker/repo-server/manifest.git目錄中新增乙個default.xml檔案,內容如下:
[html]view
plain
copy
<?
xmlversion
="1.0"
encoding
="utf-8"
?>
<
manifest
>
<
remote
name
="repo-server"
fetch
="/home/lihacker/repo-server"
review
="review.source.android.com"
/>
<
default
revision
="master"
remote
="repo-server"
/>
<
project
name
="external/example1"
path
="external/example1"
/>
<
project
name
="external/example2"
path
="external/example2"
/>
manifest
>
git add default.xml並commit。
其中的remote行指定repo伺服器的位址,default行指定預設的版本以及remote伺服器,這個需要根據實際情況指定。我們這裡底層git是用最簡單的檔案拷貝,實際中可能是git,git+ssh或者http。
接下來的2行指定project list,有2個工程,分別位於伺服器/home/lihacker/repo-server/external/example1和/home/lihacker/repo-server/external/example2目錄,而客戶repo sync後,將位於當前目錄下的external/example1和external/example2目錄。
因此,伺服器端需要再初始化/home/lihacker/repo-server/external/example1和/home/lihacker/repo-server/external/example2這2個git tree。
[plain]view
plain
copy
lihacker@lihacker-laptop:~/repo-server/external/example1$ pwd
/home/lihacker/repo-server/external/example1
lihacker@lihacker-laptop:~/repo-server/external/example1$ git init
4.客戶端sync**
建立~/repo-client目錄,並執行:
[plain]view
plain
copy
repo init -u ~/repo-server/manifest.git/
之後執行repo sync,你會發現~/repo-client多出了external/example1和external/example2的目錄,另外~/repo-client下還有乙個隱藏的.repo目錄。
[plain]view
plain
copy
lihacker@lihacker-laptop:~/repo-client$ ls -a
. .. external .repo
[plain]view
plain
copy
lihacker@lihacker-laptop:~/repo-client$ tree
. `-- external
|-- example1
| `-- 1
`-- example2
`-- 2
3 directories, 2 files
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...
Git 本地和repo上倉庫的清洗
在於將龐大複雜的資料同步到本地,經過本地清洗後傳回repo倉庫。注 本說明的所有命令都使用命令列執行 如 usr bin bash 代表這是乙個引數,需要更換為使用者自己的具體物件 git clone url cd到你轉殖 的根目錄下 cd your clone git root 使用du ha檢視...
CentOS7 搭建本地repo倉庫源
二 內網的centos操作 2.設定 etc yum.repos.d 目錄下面的各種repo檔案 內網伺服器禁止上網,無法使用各種倉庫映象。只能從別的途徑把所有的包同步下來,拷貝進內網,再建立倉庫。該命令來自於 yum utils 1.1.31 45.el7.noarch 包,該包在base源中。y...