方案
我添加了composer.json
文件并安装了我的依赖项。在这种情况下,我们假设我已将我的依赖项安装到/Plugin
。
现在我在其中一个软件包中发现了一个错误,我想修复它并更新我的依赖性。
所以我在代码中进行了必要的更改。
问题
所以现在我已经更改了我的依赖文件并且我无法提交它们,因为我的.gitignore
忽略了我的/Plugin
文件夹,因为它是使用Composer管理的。
问题
我如何能够将代码从此处提交到正确的存储库?我想避免使用Git子模块,因为我最近将我的代码库从子模块转换为Composer,为我提供了更大的灵活性。
理想情况下,我想进行更改,提交并标记我的代码,然后将其推送到远程上游。然后,只需将我的composer.json
更新为新标记。
环境
- PHP 5.5.13
- Git 2.0.0
- Composer 28c65b5425f7f8722c260e3787b74c1ea6b37e3b
答案 0 :(得分:0)
基本上有两种方法可以将库集成到主项目中:--prefer-dist
或--prefer-source
。第一个尝试下载完整的包,如果Composer知道在哪里找到它,而第二个尝试从存储库中签出(应该始终有效,因为Composer通常知道存储库)。
如果您包含类似" dev-master"的分支,Composer将始终检出存储库。
考虑一下你有一个" yourownvendor / library",这将是"插件/你自己的/库" - 如果Composer克隆了一个存储库,如果你进入该库,你可以直接使用它,即提交文件和推送(当使用Git时)或者只提交(当使用SVN时)。因为你忽略了整个树,Git不会检测子树中的任何存储库作为子模块(在使用Composer时不要尝试使用它们,总是忽略该路径),并且使用任何Git命令只会将库repos视为一个独立的回购。
确实非常容易。但是请注意,在使用任何Composer命令之前提交所有代码,因为Composer可能会删除未提交的更改。