【问题标题】:Composer --prefer-source with git pull instead of git cloneComposer --prefer-source 使用 git pull 而不是 git clone
【发布时间】:2014-12-24 16:48:48
【问题描述】:

我正在与作曲家合作一个项目。 Composer 加载多个私有 git 存储库。现在我也想处理这个 repos 并从根项目提交它们,所以我通过 --prefer-source 加载 repos。

一切正常,除了这个:

每当我执行composer update 时,它都会生成一个新的 git 克隆,而不是 pull。所以我失去了所有未提交的更改。有没有办法摆脱这种情况?

提前致谢!

【问题讨论】:

  • 如果可以选择更改工作流程,我建议您阅读 my post 不久前的相关问题。
  • 不幸的是,这不是一个令人满意的解决方案。这是正常的作曲家行为吗,它克隆私人仓库每次我运行作曲家更新?即使什么都没有改变?为什么作曲家不只是做一个 git pull 而不是一个新的 git clone?
  • 只要您在原始问题中声明您在“供应商”内部工作,这意味着确实改变了一些东西。尽管我的解决方案对您来说似乎并不令人满意,但它是在您的供应商目录中处理依赖项的唯一正确方法。另一种方法是将您的库移动到“src”中,并在它达到足够稳定的状态后将其拆分到一个新包中。
  • 实际上,自从上次更新修复它以来,它似乎 not 的正常行为。问题是作曲家再次克隆了所有内容,尽管没有任何改变。这覆盖了我自己做出的改变。现在,当没有找到我的包的更新版本时,composer 什么也不做,就像预期的那样。
  • “上次更新”在这里是一个相对术语,因为最近的更新没有触及任何可能影响您所指问题的代码部分。该代码的最后一次更改日期为 4 天前,这是一次测试修复提交。但是,遇到这个问题应该是对您的一个提示,即您在依赖项上并行工作的流程存在(至少)一个问题。

标签: git composer-php


【解决方案1】:

这似乎是作曲家本身的一个错误。在作曲家自我更新后,它按预期工作。不知道是什么问题...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-25
    • 2020-05-03
    • 2020-11-28
    • 2013-04-18
    • 2021-08-17
    • 2017-02-12
    • 1970-01-01
    相关资源
    最近更新 更多