搜尋

首頁  >  問答  >  主體

tfs - 用git管理多專案引用的大專案最好的方式是什麼呢?

我們有一些大項目,以前一直用的TFS管理,現在需要轉移到git來使用。
但是轉移的過程中遇到一些問題。
例如,在TFS裡面,我們有一個核心項目,其他很多項目都會引用這個核心項目。在GIT裡面,每個專案就是一個repo,所以repo之間要如何互相引用呢?
我畫了一個示意圖:

我試過submodule和subtree,他們都會在主項目的repo下拷貝一份引用的項目的程式碼,這樣程式碼就會有很多份。 GIT有沒有一種方式能像TFS一樣,無論多少個項目互相引用,都只有一份程式碼,而且很好維護?

目前我們的專案結構大概是這樣的:

如果用GIT,那麼product_core的程式碼就會被拷貝很多份。有沒有會自動引用項目且不會拷貝多份程式碼的解決方案呢?

滿天的星座滿天的星座2825 天前671

全部回覆(4)我來回復

  • 阿神

    阿神2017-05-02 09:26:56

    如果是java工程的話,推薦用Maven或者gradle管理项目依赖,再用git管理项目工程。当然Mavengradle也能管理非java工程。

    搜尋了一番,這個問題與題主類似:
    http://programmers.stackexchange.com/questions/114719/organizing-git-repositories-with-common-nested-sub-modules

    回覆
    0
  • 阿神

    阿神2017-05-02 09:26:56

    我的理解是你們各個模組耦合在了一起。但是有些時候也是無法避免的。

    公共組件或程式碼盡量少改動。模組化,不建議把多個專案縮成一個專案

    來管理。現在很多語言都會有自己的第三方元件,這些外掛程式也是單獨用git

    管理的,發行一個穩定版,日後組件有更新了再去專案中進行更新。

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:26:56

    我理解下來,你的core相當於基礎項目,為什麼這個引用關係要放在原始碼層面來維護呢?專案原始碼本來就應該是相對獨立的,這樣耦合在一起的目的又是什麼呢?
    maven不是正是用來做這個工作的嗎?為什麼一定要在源碼層引用?

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:26:56

    拆分成獨立的應用,你這種結構多分支開發很快會蛋碎一地

    回覆
    0
  • 取消回覆