如何在使用Composer时提交代码?

时间:2014-06-26 10:03:36

标签: git composer-php

方案
我添加了composer.json文件并安装了我的依赖项。在这种情况下,我们假设我已将我的依赖项安装到/Plugin

现在我在其中一个软件包中发现了一个错误,我想修复它并更新我的依赖性。

所以我在代码中进行了必要的更改。

问题
所以现在我已经更改了我的依赖文件并且我无法提交它们,因为我的.gitignore忽略了我的/Plugin文件夹,因为它是使用Composer管理的。

问题
我如何能够将代码从此处提交到正确的存储库?我想避免使用Git子模块,因为我最近将我的代码库从子模块转换为Composer,为我提供了更大的灵活性。

理想情况下,我想进行更改,提交并标记我的代码,然后将其推送到远程上游。然后,只需将我的composer.json更新为新标记。

环境
  - PHP 5.5.13
  - Git 2.0.0
  - Composer 28c65b5425f7f8722c260e3787b74c1ea6b37e3b

1 个答案:

答案 0 :(得分:0)

基本上有两种方法可以将库集成到主项目中:--prefer-dist--prefer-source。第一个尝试下载完整的包,如果Composer知道在哪里找到它,而第二个尝试从存储库中签出(应该始终有效,因为Composer通常知道存储库)。

如果您包含类似" dev-master"的分支,Composer将始终检出存储库。

考虑一下你有一个" yourownvendor / library",这将是"插件/你自己的/库" - 如果Composer克隆了一个存储库,如果你进入该库,你可以直接使用它,即提交文件和推送(当使用Git时)或者只提交(当使用SVN时)。因为你忽略了整个树,Git不会检测子树中的任何存储库作为子模块(在使用Composer时不要尝试使用它们,总是忽略该路径),并且使用任何Git命令只会将库repos视为一个独立的回购。

确实非常容易。但是请注意,在使用任何Composer命令之前提交所有代码,因为Composer可能会删除未提交的更改。