作曲家创建项目和 git 克隆之间的主要区别是什么



我想开发一个基于Laravel框架的Web应用程序,而无需为框架做出贡献。 我喜欢在开发自己的 Web 应用程序时定期从框架中获取更新。 我也喜欢为自己和队友使用版本控制系统。

我不确定在两者之间使用哪种策略

使用作曲家

composer create-project laravel/laravel webproject --prefer-dist

并定期与Laravel保持更新使用

composer update

使用 git

git clone https://github.com/laravel/laravel.git webproject

并定期与Laravel保持更新使用

git pull

它们之间的主要区别是什么?,我知道的一个是作曲家创建项目--perfer-dist带有干净的版本控制,还有什么?

如果我一开始使用 git clone,使用作曲家更新从框架获取更新会造成任何伤害吗?

据我所知,该存储库中包含的内容只是一个空目录结构,其中包含一些额外的样板代码,在启动新项目时需要这些代码。因此,实际上,在启动新项目时不必创建所有这些目录并创建所有这些配置文件是很好的。

但另一方面,如果在您开始项目后更新该存储库,则在任何情况下都不会受益。将在那里提交的任何更改都旨在帮助项目启动,因为框架中的某些内容已更新,因此需要更改空布局。

此外,当您克隆存储库时,理论上您希望推送回它 - 这里的情况并非如此,因为您将要启动的项目不应添加到此空项目中。

因此,正确的方法是始终使用 composer 命令,并且永远不要克隆存储库,除非您想在该确切的存储库中添加某些内容作为对社区的贡献。

另一个备注:调用composer update将获取可用并在composer.json中提到的最新版本,您将扩展该版本。这也包括Laravel框架的最新版本,版本"4.0.*"。 相反,git pull只会更新空布局,可能会破坏您已经所做的更改(您必须以某种方式解决冲突(,并且您不会获得最新的Laravel框架,因为它不包含。您还必须致电composer update.

因此,总而言之,克隆存储库没有任何好处。只需获取您自己的副本,将其放入您自己的项目的存储库中,然后使用 Composer 更新任何依赖项,包括框架的更新。

相关内容

最新更新