2016-12-20 8 views
0

名前にアンダースコアのフォルダがあるプロジェクトをプッシュしようとしています。 "realityking/hash_equals": "dev-master"を使用するのはBigCommerce Hello Worldアプリです。依存関係は 'vendor \ realityking \ hash_equals'にあります。プロジェクトをプッシュし、クローンすると、hash_equalsフォルダは空になります。 Herokuからリポジトリを削除するためにgit rm -r *を実行すると、エラーが発生します。Gitはアンダースコアが嫌いです

エラー:私はそれを削除するためにすべてを試みたが、私ができる ベンダー/ realityking/hashequals (削除を強制的に-fを使用)

:次のファイルが ファイルとHEADの両方から異なるコンテンツを上演していますない。私はアプリを削除し、新しいものを作成し、.gitをローカルで削除してからやり直しました。同じ問題が発生しました。

もちろん、フォルダ名やファイル名にはアンダースコアを使用しないでください。これは動作することが実証済みの既存の「Hello World」プロジェクトです。

これを修正する方法はありますか?

+1

Herokuビルドログには、「Gitサブモジュールが検出され、サブモジュール 'vendor/realityking/hash_equals'」がインストールされていますか? –

+1

いいえ、警告があります。警告:あなたのComposerベンダーディレクトリはGitリポジトリの一部です。 このディレクトリはバージョン管理下にあってはなりません。 'composer.json'と 'composer.lock'ファイルのみを追加する必要があります。 は、Composerでデプロイ時の依存関係のインストールを処理します。私はベンダーのフォルダをプッシュするはずがありませんか?私はそれを働かせることができませんでした、そして、私はそれがベンダーのフォルダで何かを見つけることができなかったと言っている誤りを得ていたので、私はそれをgitignoreから取り出しました。 – Matt

+0

これはアンダースコアとは関係ありません。 Stephenが示唆しているように、あなたが 'vendor /'フォルダの追跡を開始したときに、誤って部分的に設定されたサブモジュールが作成されている可能性があります。 – Chris

答えて

2

Herokuは、展開するたびにベンダーディレクトリを復元するために 'composer.json'と 'composer.lock'を使用します。これは、vendorディレクトリがではなく、がGitでコミットされることを意味します。

これら2つのファイルをコミットすると、Heroku's PHP buildpackはComposerを使用してパッケージを復元します。

リポジトリを復元するには、Composerを使用する必要があるため、リポジトリを複製するときにディレクトリが空です。ベンダーディレクトリを再設定するには、コマンドphp composer.phar installを使用します。

リポジトリからhash_equalsディレクトリを削除するには、コマンドgit rm -fr vendor/realityking/hash_equalsを使用してコミットします。

関連する問題