用git管理多项目引用的大项目最好的方式是什么呢?

发布于 2022-09-01 21:10:36 字数 590 浏览 20 评论 0

我们有一些大项目,以前一直用的TFS管理,现在需要转移到git来使用。
但是转移的过程中遇到一些问题。
比如,在TFS里面,我们有一个核心项目,其他很多项目都会引用这个核心项目。在GIT里面,每个项目就是一个repo,所以repo之间如何互相引用呢?
我画了一个示意图:
引用示意图

我试过submodule和subtree,他们都会在主项目的repo下拷贝一份引用的项目的代码,这样代码就会有很多份。GIT有没有一种方式能像TFS一样,无论多少个项目互相引用,都只有一份代码,而且很好维护?

目前我们的项目结构大概是这样的:
图片描述

如果用GIT,那么product_core的代码就会被拷贝很多份。有没有会自动引用项目且不会拷贝多份代码的解决方案呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

孤独患者 2022-09-08 21:10:36

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

搜索了一番,这个问题与题主类似:
http://programmers.stackexchange.com/questions/114719/organizing-git-repositories-with-common-nested-sub-modules

相思碎 2022-09-08 21:10:36

我的理解是你们各个模块耦合在了一起。但是有些时候也是无法避免的。

公共组件或代码尽量少改动。模块化,不建议把多个项目缩成一个项目

来管理。现在很多语言都会有自己的第三方组件,这些插件也是单独用git

管理的,发行一个稳定版,日后组件有更新了再去项目中进行更新。

山川志 2022-09-08 21:10:36

我理解下来,你的core相当于基础项目,这个引用关系为什么要放在源代码层面来维护呢?项目源码本来就应该是相对独立的,这样耦合在一起的目的是什么呢?
maven不是正是用来做这个工作的吗?为什么一定要在源码层引用?

成熟稳重的好男人 2022-09-08 21:10:36

拆分成独立的应用,你这种结构多分支开发很快会蛋碎一地

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文