2016-12-20 2 views
0

Ich versuche, ein Projekt zu schieben, das einen Ordner mit einem Unterstrich im Namen hat. Es ist eine BigCommerce Hello World App, die "realityking/hash_equals": "dev-master" verwendet. Die Abhängigkeit liegt in 'Hersteller \ RealTalking \ Hash_Equals'. Wenn ich das Projekt verschiebe und dann klone, ist der Ordner hash_equals leer. Wenn ich git rm -r * starte, um das Repository von Heroku zu löschen, erhalte ich einen Fehler.Git mag keine Unterstriche

Fehler: die folgende Datei hat sowohl in der Dateiinhalt unterschiedlich inszenierten und dem HEAD: Verkäufer/realityking/hashequals (verwenden -f Entfernung zu zwingen)

ich alles versucht, es zu löschen, aber ich konnte nicht. Ich löschte die App, erstellte eine neue, löschte .git lokal, begann neu und bekam das gleiche Problem.

Offensichtlich sollte ich keine Unterstriche in Ordner- oder Dateinamen verwenden, aber dies ist ein vorhandenes "Hallo Welt" -Projekt, das nachweislich funktioniert.

Gibt es eine Möglichkeit, das zu beheben?

+1

Sehen Sie im Heroku-Build-Protokoll "Git-Submodule gefunden, Submodul 'vendor/real- talking/hash_equals' installiert"? –

+1

Nein, aber es gibt eine Warnung. WARNUNG: Ihr Composer-Vendor-Verzeichnis ist Teil Ihres Git-Repositorys. Dieses Verzeichnis sollte nicht unter Versionskontrolle stehen; nur Ihre 'composer.json' und 'composer.lock' Dateien sollten hinzugefügt werden, die Composer Installation der Abhängigkeiten bei Bereitstellung behandeln lassen. Soll ich den Lieferantenordner nicht verschieben? Ich konnte es nicht zum Laufen bringen und ich bekam einen Fehler, der sagte, dass es etwas im Lieferantenordner nicht finden konnte, also nahm ich es aus dem .gitignore heraus. – Matt

+0

Dies hat _nothing_ mit Unterstrichen zu tun. Wie Stephen vermutet, haben Sie wahrscheinlich ein teilweise konfiguriertes Submodul versehentlich erstellt, als Sie mit der Verfolgung Ihres 'vendor /' -Ordners begonnen haben. – Chris

Antwort

2

Heroku verwendet 'composer.json' und 'composer.lock', um bei jeder Bereitstellung das Lieferantenverzeichnis wiederherzustellen. Dies bedeutet, dass das Verzeichnis vendornicht in Git begangen werden sollte.

Wenn Sie diese beiden Dateien festschreiben, stellt Heroku's PHP buildpack Pakete mit Composer wieder her.

Das Verzeichnis ist leer, wenn Sie das Repository klonen, da Sie Composer zum Wiederherstellen verwenden müssen. Verwenden Sie den Befehl php composer.phar install, um das Lieferantenverzeichnis erneut zu füllen.

Um das Verzeichnis hash_equals aus Ihrem Repository zu entfernen, verwenden Sie den Befehl git rm -fr vendor/realityking/hash_equals, dann commit.