方法1、拆分一個子目錄為獨立倉庫
參考鏈接:https://segmentfault.com/a/1190000002548731
以前是用 filter-branch 來實現,這個需求太常見了,有人做了個整合的 git-subtree,再后來……subtree
集成進 Git 了。
# 這就是那個大倉庫 big-project $ git clone git@github.com:tom/big-project.git $ cd big-project # 把所有 `codes-eiyo` 目錄下的相關提交整理為一個新的分支 eiyo $ git subtree split -P codes-eiyo -b eiyo # 另建一個新目錄並初始化為 git 倉庫 $ mkdir ../eiyo $ cd ../eiyo $ git init # 拉取舊倉庫的 eiyo 分支到當前的 master 分支 $ git pull ../big-project eiyo
方法2、按模塊新建模塊目錄,重新創建git倉庫
在不影響原來Jenkins構建體系情況下,需要思考的問題如下:
原來編譯rpm包的觸發條件如何觸發編譯腳本? 寫一個腳本遍歷每個模塊目錄,如何有模塊更新就返回該模塊目錄
如何檢測每個git模塊倉庫是否有更新? 用 Git Hooks 進行自動部署 參考鏈接:https://segmentfault.com/a/1190000003836345
如何配置使用git鈎子? https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90
方法3:使用git branch-filter
沒有驗證通過,執行時導致文件目錄被刪除,驗證時建議將原倉庫進行備份
參考鏈接:https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90