我们将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/