我有一个在供应商处导入的专用捆绑包。
现在,我正在我的项目中工作,并希望编辑供应商捆绑包中的一些代码。
现在我已经完成了,并且想要提交代码,所以我去那个捆绑包的目录并说:"git commit -a
"所以我给出了一条消息,保存,现在我有一个提交。Oke,"git push
"并给出"一切都是最新的"的回答......所以我不能推动它,但我可以承诺??
这不是一种承诺的方式吗?我应该克隆存储库并在那里工作吗?
您永远不应该直接编辑供应商代码 - 这是依赖关系管理的重点。
Composer 基本上通过查看您的composer.json
文件并获取您指定的存储库和版本来工作。如果需要对其中一个依赖项进行更改,则应在原始存储库中进行更改,将更改推送到 GitHub(或托管代码的任何位置)并运行 composer update
。
当 Composer 安装供应商时,它会签出特定的提交,因此您不在分支上。您需要签出master
分支(或您使用的任何分支),并提交并推送它。
很久以前我问过这个问题。意思是,虽然我得到了答案,但从未更新过我的堆栈溢出问题,对此感到抱歉!
我自己的问题的答案是获得与作曲家--prefer-source
的依赖关系。
https://getcomposer.org/doc/03-cli.md#install
--首选源:下载软件包有两种方式:
source
和dist
。对于稳定版本,作曲家默认使用dist
。source
是一个版本控制存储库。如果启用了--prefer-source
,作曲家将从source
安装(如果有)。如果要对项目进行错误修复并直接获取依赖项的本地 git 克隆,这将非常有用。