Php 编写器:直接在供应商包中开发

Php 编写器:直接在供应商包中开发,php,git,composer-php,Php,Git,Composer Php,我有一个使用composer的PHP项目 我自己的主库实际上是一个必需的包,因为我还构建了一个“独立版本”供人们安装(不仅仅是库),因此它位于vendor目录中 我花在开发项目上的大部分时间都发生在那个供应商包中,它已经是一个Git克隆,但是没有在任何分支上。通过运行git checkout master,我可以很快地改变这一点。但是,每次我运行composer update,它要么抱怨目录变脏,要么签出一个新的副本,在那里我必须重新开始,而不必在分支上 那么,我的问题是:作曲家是否有某种模式,

我有一个使用composer的PHP项目

我自己的主库实际上是一个必需的包,因为我还构建了一个“独立版本”供人们安装(不仅仅是库),因此它位于
vendor
目录中

我花在开发项目上的大部分时间都发生在那个供应商包中,它已经是一个Git克隆,但是没有在任何分支上。通过运行
git checkout master
,我可以很快地改变这一点。但是,每次我运行
composer update
,它要么抱怨目录变脏,要么签出一个新的副本,在那里我必须重新开始,而不必在分支上


那么,我的问题是:作曲家是否有某种模式,例如只获取该repo中的更改?或者,在开发主软件包的同时,开发(或只是贡献)供应商软件包的首选方式是什么?

您可以通过在更新命令末尾指定一个或几个软件包来更新:

composer update pkg1 pkg2 ...

几分钟前,composer updates将询问您是要恢复更改,还是在包更新之前/之后进行隐藏/应用。这对解决这些问题应该有很大帮助,详情请参见。

经过这么多年。。。我已经创建了一个可以在使用Composer软件包时轻松开发Composer软件包的工具,使用Composer的“路径存储库”,但不必接触Composer.json,这在与其他开发人员共享的存储库中可能是不可取的


无耻的插头,但这是我自己的问题,所以我希望这是好的。:)

git stash
在运行composer并随后加载stash之前?不过,这只是一种解决方法,也是我想要避免的事情。我已经尝试使用最新版本的composer
825b4b9c63a29c586d005de8dbbcfdfeb86bbf6f
1.0.0-alpha9
。我仍然没有看到
s
选项。当我的作曲家遇到脏包时,我只有
y,n,v、
选项。有什么想法吗?@awei stash只适用于git软件包,也许你的软件包是svn或hg?@Seldaek:它肯定是git软件包。我自己写的模块。您能否确认
s
选项存在于
composer@1.0-开发人员