【发布时间】: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