Git项目子模块组织
Git项目子模块组织,git,git-submodules,project-management,Git,Git Submodules,Project Management,我有一个git项目,其中包括子模块。它看起来像这样: 项目A ----项目B(子模块) ----项目C(子模块) 项目C使用项目A和B中的代码。 项目B使用项目C中的代码。 这种可恶的情况产生的问题是,当我想要发出一个包含影响所有三个项目的更改的请求时,处理起来就变得一团糟。 我想知道解决当前问题的最佳方法是什么? 我曾考虑将所有项目合并为一个项目,但想知道是否有更好的解决方案。 谢谢项目中的循环依赖通常是制造问题的机会,我建议避免它。确切的解决方案在某种程度上取决于您的环境和不同项目的需求。要
我有一个git项目,其中包括子模块。它看起来像这样:
项目A
----项目B(子模块)
----项目C(子模块)
项目C使用项目A和B中的代码。
项目B使用项目C中的代码。
这种可恶的情况产生的问题是,当我想要发出一个包含影响所有三个项目的更改的请求时,处理起来就变得一团糟。
我想知道解决当前问题的最佳方法是什么?
我曾考虑将所有项目合并为一个项目,但想知道是否有更好的解决方案。
谢谢项目中的循环依赖通常是制造问题的机会,我建议避免它。确切的解决方案在某种程度上取决于您的环境和不同项目的需求。要问自己的主要问题是: 项目之间是否有一个干净的界面,或者是否可以?
如果我们考虑一个微服务体系结构,那么在组件之间有一个强接口的每个组件有一个项目是有意义的。这意味着项目A的团队与项目B的团队签订了“合同”
如果没有干净的界面,我建议将其压缩到单个存储库中。这里的主要原因是为了让开发人员更容易。通常,两个项目之间需要同步进行更改。在单个项目中执行比跨多个项目更容易 还有几条线索,你总是一起发布项目,还是单独发布项目?如果您总是同时发布项目,那么我建议将其压缩为单个项目如果你有任何后续问题,或者更多关于你想让我考虑的项目的信息,请留下评论。
< P>项目中的循环依赖通常是一个创造问题的机会,我建议避免它。确切的解决方案在某种程度上取决于您的环境和不同项目的需求。要问自己的主要问题是: 项目之间是否有一个干净的界面,或者是否可以?如果我们考虑一个微服务体系结构,那么在组件之间有一个强接口的每个组件有一个项目是有意义的。这意味着项目A的团队与项目B的团队签订了“合同”
如果没有干净的界面,我建议将其压缩到单个存储库中。这里的主要原因是为了让开发人员更容易。通常,两个项目之间需要同步进行更改。在单个项目中执行比跨多个项目更容易 还有几条线索,你总是一起发布项目,还是单独发布项目?如果您总是同时发布项目,那么我建议将其压缩为单个项目 如果你有任何后续问题,或者更多关于你想让我考虑的项目的信息,请留下评论。 < P>总结。 如果尚未使用$git init
然后添加远程存储库:
$git remote add -f reponame https://github.com/username/reponame.git
将远程存储库与本地存储库相结合
$git merge reponame/master --allow-unrelated-histories
总结。
如果尚未使用$git init
然后添加远程存储库:
$git remote add -f reponame https://github.com/username/reponame.git
将远程存储库与本地存储库相结合
$git merge reponame/master --allow-unrelated-histories
你说的“使用代码”是什么意思?你可以尝试使用回购工具:谢谢你的回复。我将查看回购工具。但我所说的“使用代码”是指一个项目的函数调用另一个项目的函数@Pratham。你说的“使用代码”是什么意思?你可以尝试使用repo工具:谢谢你的回复。我将查看回购工具。但我所说的“使用代码”是指一个项目的函数调用另一个项目的函数@Pratham。非常感谢James的回答!我决定压缩成一个项目。我发现这是按照你的建议去做的指南:你有更好的建议吗?再次感谢布鲁斯,很高兴答案有帮助。不幸的是,我没有任何合并回购协议的经验(只是促进决策)。我已经快速浏览了这篇文章,它看起来相当直截了当。如果有更好的解决办法,我会感到惊讶。(根据我们的经验)提醒一下,对于正在合并的回购,git历史会发生什么。当然,如果可以的话,保留历史是很好的。非常感谢詹姆斯的回答!我决定压缩成一个项目。我发现这是按照你的建议去做的指南:你有更好的建议吗?再次感谢布鲁斯,很高兴答案有帮助。不幸的是,我没有任何合并回购协议的经验(只是促进决策)。我已经快速浏览了这篇文章,它看起来相当直截了当。如果有更好的解决办法,我会感到惊讶。(根据我们的经验)提醒一下,对于正在合并的回购,git历史会发生什么。当然,如果可以的话,保留历史是件好事。