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