gpt4 book ai didi

Git 子模块与依赖管理?

转载 作者:太空狗 更新时间:2023-10-29 14:10:43 24 4
gpt4 key购买 nike

在我工作的地方,我们使用名为 apache Ivy 的工具进行依赖项管理。但是,我最近一直在开发一个我自己的项目,它有多个存储库,因此,我正在使用一个 git super 项目来维护所有这些项目。 git 子模块对我来说很棒,到目前为止我更喜欢它们而不是 Ivy。以下是我喜欢 Ivy 的主要优点:

  • 每当您对两个或多个相互依赖的存储库进行更改时,您只需提交到 super 项目即可,因此很明显什么依赖于什么。在 Ivy 中,你必须发布一个全新的版本,这很烦人。
  • 在 super 项目中更容易更好地跟踪您的更改。据我所知,Ivy 不会很好地跟踪您对版本的更改。
  • Git 比 Ivy 有更多的支持
  • 你只需要了解一种工具,GIT!!!

但是,我的公司拒绝接触 git 子模块/ super 项目。我也一直在做一些研究,似乎很多人不喜欢 git 子模块,并且它不被认为是一个好的“依赖管理”工具。谁能帮我理解为什么?

最佳答案

Apache Ivy 等依赖管理器的 killer 级功能可能是传递依赖 解决和冲突管理。使用 git 子模块无法做到这一点。

来自 Apache Ivy features页:

Imagine a component that's often reused by a software team, and that this component has dependencies of its own. Without a good dependency management tool, each time this component is reused, all its dependencies must be repeated. With Apache Ivy, it's different: simply write a dependency file once for the component, and benefit from the work already done anytime this component is reuse.

我认为重要的另一个功能是:

  • 下载已经编译好的包,而不是每次都编译它们

  • 依赖报告

总而言之,只有当你的依赖树确实存在并且编译依赖代码很便宜时,我才会建议使用 git 子模块。

关于Git 子模块与依赖管理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49142414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com