我正在尝试推送一个名称中包含下划线的文件夹的项目。它是一个BigCommerce Hello World应用程序 "realityking/hash_equals": "dev-master"。依赖性在'vendor \ realityking \ hash_equals'中。当我推送项目,然后克隆它时,hash_equals文件夹为空。当我运行git rm -r *从Heroku中删除存储库时,我收到错误。
错误:以下文件的上传内容与两者不同 文件和HEAD: 供应商/ realityking / hashequals (使用-f强行删除)
我尝试了所有删除它,但我不能。我删除了应用程序,创建了一个新应用程序,在本地删除了.git,重新开始,我遇到了同样的问题。
显然,我不应该在文件夹或文件名中使用下划线,但这是一个已经证明有效的现有“Hello World”项目。
有没有办法解决这个问题?
答案 0 :(得分:2)
Heroku使用'composer.json'和'composer.lock'在每次部署时恢复供应商目录。这意味着<{1}}目录应 在Git中提交
。如果您提交这两个文件,Heroku's PHP buildpack将使用Composer恢复软件包。
克隆存储库时该目录为空,因为您必须使用Composer来还原它们。使用命令php composer.phar install
重新填充供应商目录。
要从存储库中删除hash_equals目录,请使用命令git rm -fr vendor/realityking/hash_equals
,然后提交。