為了簡化說明,假設你的專案程式碼結構如下:根目錄為R,裡面包含了三個資料夾A、B、C,還有一個make檔案m。方案一,將R初始化為一個git倉庫,中心伺服器上建一個對應的倉庫用於儲存和中轉。方案二,將R初始化為一個git倉庫,ABC各自初始化為一個倉庫,中心伺服器上建RABC四個倉庫與之對應。ABC可以各自維護,但也作為R的submodule來處理。可以參考git submodule命令。方案三,將ABC初始化為倉庫,伺服器上建對應的三個倉庫。make檔案複製一份到A中。ABC各自維護,需要全部時,寫個指令碼將ABC克隆到同一目錄,並且把A中的makefile複製出來。方案四,方案三的升級版,谷歌為了維護安卓原始碼已經做了一套封裝了git命令的python工具,叫Repo。可以做方案三種指令碼內的事,還可以做很多其它的事。它需要一個額外的倉庫來管理專案配置檔案。配置檔案中指定了這個版本的專案程式碼由哪些程式碼倉庫組成,每個程式碼倉庫的版本是哪個,像makefile這樣的零散檔案要從哪複製到哪。推薦方案四,省很多事,缺點是需要額外學習Repo的使用。
為了簡化說明,假設你的專案程式碼結構如下:根目錄為R,裡面包含了三個資料夾A、B、C,還有一個make檔案m。方案一,將R初始化為一個git倉庫,中心伺服器上建一個對應的倉庫用於儲存和中轉。方案二,將R初始化為一個git倉庫,ABC各自初始化為一個倉庫,中心伺服器上建RABC四個倉庫與之對應。ABC可以各自維護,但也作為R的submodule來處理。可以參考git submodule命令。方案三,將ABC初始化為倉庫,伺服器上建對應的三個倉庫。make檔案複製一份到A中。ABC各自維護,需要全部時,寫個指令碼將ABC克隆到同一目錄,並且把A中的makefile複製出來。方案四,方案三的升級版,谷歌為了維護安卓原始碼已經做了一套封裝了git命令的python工具,叫Repo。可以做方案三種指令碼內的事,還可以做很多其它的事。它需要一個額外的倉庫來管理專案配置檔案。配置檔案中指定了這個版本的專案程式碼由哪些程式碼倉庫組成,每個程式碼倉庫的版本是哪個,像makefile這樣的零散檔案要從哪複製到哪。推薦方案四,省很多事,缺點是需要額外學習Repo的使用。