php - 如何让composer只更新composer.lock/json中的文件而不 pull 新版本

标签 php git composer-php

我们将composer.json/composer.lock保留在我们的存储库中,并使用composer来更新依赖项。我们有一个 githook 用于 checkout 后进行 Composer 更新。如果我们的某个依赖项或依赖项有新版本,它将下载更新并更改composer.lock

问题是我不希望这样,因为我将有两个开发人员提交锁定文件,并且会出现不必要的冲突。

我想要的是让composer更新成为一个手动过程,使用特定版本提交composer.lock,并且仅根据composer.lock中的更改来更新composer。但我不知道该怎么做(也许我误解了 - 而且它不会那样工作......)

有没有办法做到这一点,或者有其他方法来解决这个问题?

最佳答案

将您的 Hook 更改为composer install,它将在 checkout 时从锁定文件中读取。然后还添加一个 post-merge Hook 来执行相同的操作,这样,如果一个人提交对 composer.lock 的更改, merge 的版本将根据需要自动安装和/或更新.

一般规则是 install 使用 .lock(如果存在),update 始终只使用 .json

关于php - 如何让composer只更新composer.lock/json中的文件而不 pull 新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28295969/

相关文章:

Git 状态摘要(按文件扩展名)

php - 更改电子邮件验证错误消息 Laravel 5.7

php - 构建在 Google Fusion Tables 之上

git - 我可以 'git commit' 文件并忽略其内容更改吗?

git - git repo 的奇怪问题?

php - 更新 Symfony 2.1(颠覆)

docker 和 composer 安装

php - Laravel 5.1 到 5.2 Composer 更新错误

php - Doctrine 2 重写多对一关联

php - 如果元素数量小于 4 并且不为空,则创建重复元素