composer create-project和git clone之间的主要区别是什么?

我想开发一个基于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 update从框架获取更新会造成什么伤害?

最佳答案
据我所知,它包含在该存储库中,它只是一个空的目录结构,带有一些额外的样板代码,在启动一个新项目时需要相同的代码.所以实际上,在开始一个新项目时不必创建所有这些目录并创建所有这些配置文件是很好的.

但另一方面,如果在启动项目后该存储库得到更新,则无论如何都不会受益.任何将在其中提交的更改都旨在帮助新项目启动时,因为框架中的某些内容已更新,因此需要更改空布局.

另外,当您克隆一个repo时,理论上你想要回到它 – 这不是这里的情况,因为你即将开始的项目不应该被添加到这个空项目中.

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

另一个评论:调用composer update将获取composer.json中提供的最新版本,您将对其进行扩展.这还包括Laravel框架的最新发行版本,版本“4.0.*”.相反,git pull只会更新空布局,可能会破坏你已经做出的更改(你必须以某种方式解决冲突),而且你没有得到最新的Laravel框架,因为它没有被包含.你还必须调用composer update.

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

转载注明原文:composer create-project和git clone之间的主要区别是什么? - 代码日志