【问题标题】:Git Subtrees vs Composer [closed]Git子树与作曲家[关闭]
【发布时间】:2014-01-26 08:53:38
【问题描述】:

这可能是一个非常幼稚的问题,但我试图了解 Git 的子树和 PHP 的 Composer 依赖项管理在实用程序上的区别。在转储 Git 子模块后,我开始使用 Git 子树。但现在有 Composer(用于 PHP)。由于我的大多数项目都是基于 PHP 的,我正在考虑转储子树以支持 Composer。

例如,我有多个 Wordpress 网站。我想提取 Wordpress 本身和我想使用的插件。我可以同时使用 Git 子树和 Composer,对吗?

如果我没有在上游子文件夹中提交/推送代码的用例,但只想将最新/特定版本拉入子文件夹,那么 Subtree 和 Composer 是否提供相同类型的实用?

在我的用例中,我觉得 Composer 胜过 Git Subtree,因为它更易于使用,更容易在子文件夹中获取另一个/更新版本的脚本,而无需将那些拉取的子文件夹文件提交到 Git 存储库中。

对我的这种理解有什么想法吗?这种策略有问题吗?还是两者完全不同,没有任何相似之处?

【问题讨论】:

  • 我只想这样表达:git 子树使用 git 作为版本控制系统与您绑定。您不能仅将文件迁移到其他地方,您将始终必须将整个项目保留为 git 存储库,并且您碰巧将其次要功能用于 3rd 方依赖管理。另一方面,Composer 是一个专门用于管理 3rd 方依赖项的工具,独立于任何其他系统。选择对我来说似乎很清楚,但最终还是取决于你。
  • 即使您需要编辑依赖项中的代码,您也可以通过将其作为源“composer update somedependency --prefer-source”来实现。然后,您可以同时编辑项目和依赖项的代码,并将它们独立地提交到各自的仓库。

标签: php wordpress composer-php git-subtree


【解决方案1】:

有很多理由支持 Composer。

它实际上管理整个项目和供应商库本身的依赖项。所以如果你需要一个包,它会得到所有需要的东西或通知你错误。

管理版本也很简单,对于您下载的每个软件包,您都可以指定它应该更新到的版本(因此您可以决定只更新软件包的次要版本或完全使用开发大师)

Composer 也为 自动加载 提供了一些帮助。使用 -o 运行时让您的项目更快一点

仅使用开发包还可以让您管理生产设置更轻松。

如果供应商提供作曲家功能,我发现实际上没有理由使用子模块。

【讨论】:

    猜你喜欢
    • 2015-09-11
    • 1970-01-01
    • 2015-10-04
    • 2020-03-30
    • 2013-08-13
    • 2019-03-13
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    相关资源
    最近更新 更多