monorepo和multrepo的簡介


項目管理的方式是多種形勢的,依據管理的方式類進行項目建倉。

 

mono或者mult其實都是項目管理的方式,只是兩種方式是剛好相反的,拿來一起說是,更方便記憶而已。

multrepo:將項目分化成為多個模塊,並針對每一個模塊單獨的開辟一個reporsitory來進行管理。

     優點:1.團隊自己的IDE,語言,以及工作步調。

        2.模塊更小,更易維護。

        3.開發效率更高。

     缺點:1.合並困難,每個模塊規范不同,同步和編譯時這些問題將會集體爆發。

        2.難以保證穩定性。

        3.由於可能存在不同語言開發,或者不同IDE的情況,新建或者更新構建變得困難

 

monorepo:是將所有的模塊統一的放在一個主干分支之中管理。不進行分庫存儲,當有特定的需要的時候進行分支,但是問題修改還是在主干上操作,並有專門人員合並到分支內容上,在特定需求完結的時候,分支也將會被廢棄。點擊這里,查看詳細介紹

     優點:1.統一的規范,語言,和IDE帶來的是結構的完整穩定。

        2.按照統一的標准進行開發,是哦程序穩定性更良好,更易解讀。

        3.標准化的開發流程,規避很多不必要的沖突與錯誤。

     缺點:1.項目過大,難以管理。

        2.由於統一的標准,不同的團隊可能需要對於新的規范和IDE進行了解學習,需要時間。

        3.修改和開發可能變得繁瑣,減慢效率。

 

如果你們團隊選擇 monorepo,那主要的挑戰自然是隨着項目的發展,其會變得非常龐大(因為沒有根據模塊或功能拆分成不同 repo)。因此會需要很多的工具來應對這樣的挑戰。

  • 你會需要強大的構建工具,比如 Google 的 Bazel, Facebook 的 Buck 和 Twitter 的 Pants
  • 倉庫變得太大,對你們的版本控制技術會有很大的挑戰。因為 Git 社區建議的是使用更多更小的代碼庫,Git 本身並不適合單個巨大的代碼庫。
  • 因為所有的代碼都放在一起,你需要時刻保持警惕,以保持良好的項目結構和提交測試。
  • 在這么大的 workspace 中工作或使用了非標准化的構建工具,你常用的 IDE 可能會遇到麻煩。Facebook 就選擇了構建自己的 IDE。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM