【问题标题】:What is main differences between composer create-project and git clone?composer create-project 和 git clone 之间的主要区别是什么?
【发布时间】:2017-04-07 18:37:50
【问题描述】:

我想开发一个基于 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

它们之间的主要区别是什么?,我知道的一个是 composer create-project --perfer-dist 带有干净的版本控制,还有什么?

如果我一开始使用 git clone,使用 composer update 从框架获取更新会造成什么危害?

【问题讨论】:

    标签: git composer-php


    【解决方案1】:

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

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

    此外,当你克隆一个 repo 时,理论上你会想要推回它 - 这里不是这种情况,因为你即将开始的项目应该被添加到这个空项目。

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

    另外一点:调用composer update 将获取composer.json 中提到的最新版本,您将对其进行扩展。这还包括 Laravel 框架的最新发布版本,版本“4.0.*”。 git pull 只会更新空布局,可能会破坏您已经做出的更改(您必须以某种方式解决冲突),并且您不会获得最新的 Laravel 框架,因为它不包含在内。您还必须致电composer update

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 2015-08-22
      • 2015-08-06
      • 2011-03-06
      • 2013-12-23
      • 2017-04-28
      • 2011-04-14
      相关资源
      最近更新 更多