2019/05/28

一個repo的manifest範例

摘要

本文簡要記錄一個repo的manifest搭配Bitbucket的測試範例。


本文

repo是一個谷歌以Git為基礎打造出來作為多個倉庫(repository)管理的工具。隨後是一個搭配Bitbucket操作的簡易範例。
範例操作步驟如下。
1. 先在Bitbucket這款Git伺服器上建立3個倉庫,包含了hello-world-chello-world-shell等2個子專案的倉庫、以及hello-world-repo-manifest這1個manifest的倉庫。

2. 在manifest的倉庫中建立一個名為default.xml的檔案,用以描述各子專案的meta訊息。例如這裡的default.xml這個manifest指定了fetch的站台為https://hsinshengliu@bitbucket.org/hsinshengliu/、而hello-world-chello-world-shell這2個專案則是該manifest所涵蓋的子專案,也就這裡所提到用remote元素的fetch屬性加上project的name屬性所拼接出來的值將成為Git進行clone時的URL(即${remote_fetch}/${project_name}.git);目前測試fetch屬性僅能使用https://前綴的值。

3. 一旦repo init後便能取得manifest倉庫;接著再repo sync便能取得各子專案的倉庫。留意,實際上repo這項工具將會包含3種倉庫,分別是repo自身的倉庫、manifest的倉庫、以及子專案倉庫。repo最方便的地方莫過於只需下達repo sync便能將各個manifest所指定的子專案倉庫全部更新至指定版本(或最新版本)。
未來工作:使用repo來進行Git的push動作。

參考文獻

https://github.com/jackuhan/manifest
https://blog.csdn.net/stoic163/article/details/78790349

沒有留言:

張貼留言