Kann mir bitte jemand sagen, warum ich das graue Symbol habe, wenn ich meine Dateien auf Github schiebe? Neben dem App-Verzeichnis sollten sich Modelle, Ansichten und Controller befinden, aber im Remote-GitHub kann ich nicht darauf klicken.
Antworten:
Es sieht so aus, als hätten Sie ein Submodul erstellt, das auf einen nicht erreichbaren Remote-Standort verweist.
Siehe diese Antwort . Dieses grüne Symbol zeigt auf das Untermodul. Ich gehe davon aus, dass es in Ihrem Fall ausgegraut ist, weil das Submodul falsch konfiguriert wurde.
Da dies .gitmodules
nicht vorhanden ist, muss es gelöscht worden sein, sodass ein Untermodul ohne Remote-Informationen verbleibt.
Wenn Sie in app
und eingeben, sehen git remote -v
Sie, wohin dieses Modul ebenfalls zeigt. Dieser Ort ist derzeit nicht erreichbar.
In einem ähnlichen Szenario habe ich ein Submodul hinzugefügt und gelöscht .gitmodules
. Das Ergebnis auf GitHub sieht folgendermaßen aus:
cat .gitmodules
zurück? Veröffentlichen Sie keine aktuellen URLs
git rm --cached <folder_name>
Gehen Sie dann zum übergeordneten Verzeichnis und führen Sie Folgendes aus:
git add .
git commit -m "<your_message>"
git push --all
--all
schiebt alle Zweige .
Git hält es für ein Submodul, da es ein .git-Verzeichnis enthält. Reparieren...
Das Verzeichnis wurde in das fehlerhafte Verzeichnis geändert:
cd <offending git submodule>
Entfernen Sie das darin enthaltene .git-Verzeichnis:
rm -rf .git
Aktualisieren Sie den Git-Cache:
git rm --cached <offending git submodule>
Wechseln Sie in das übergeordnete Verzeichnis:
cd ..
Fügen Sie das Verzeichnis zu git hinzu:
git add .
git commit -m "Changed submodule to directory"
git push --all
Es sieht so aus, als hätten Sie git im Ordner initialisiert. Löschen Sie die Git-Datei (rm -rf) aus dem Unterordner, erstellen Sie ein neues Repo und initialisieren Sie Git erneut.
Sie haben git bereits im App-Verzeichnis initialisiert und es kann die Fernbedienung nicht finden. Löschen Sie die Git-Datei in der App. .
[app(master)]$ sudo rm -r .git
Oder zeigen Sie die versteckten Dateien im Ordner und machen Sie es manuell. Anschließend die Änderungen des übergeordneten Ordners erneut festschreiben und erneut übertragen
Die einfachste Methode, die ich gefunden habe, war einfach, den Ordner aus dem lokalen zu entfernen und das Remote-Repo zu aktualisieren. Navigieren Sie zu Ihrem lokalen Verzeichnis und schneiden Sie den Ordner mit dem falsch eingerichteten .git-Unterordner an einen anderen Speicherort (außerhalb des lokalen Repos, z. B. Desktop), damit Sie das Problem beheben und später wieder kopieren können. Führen Sie dann Folgendes aus:
git submodule update
git add --all
git commit --all
git push
Dadurch sollte der Ordner entfernt werden, der auf dem Remote-Repo ausgegraut ist. Kopieren Sie dann den Ordner erneut in Ihre lokalen Dateien und führen Sie den Push add --all commit --all git wie oben aus. Achten Sie dabei zunächst darauf, den falsch eingerichteten .git-Ordner vorher aus dem Unterordner zu löschen, um dasselbe Problem zu vermeiden nochmal; Um dies auf Linux-Systemen zu finden, verwenden Sie cntrl-h aus dem Ordner, um versteckte Dateien in Ihren Ordnern anzuzeigen. In einem Unterordner, der das Problem verursacht, wird ein .git-Ordner angezeigt. Löschen Sie diesen Ordner und dieser sollte behoben werden
Es enthält bereits ein .git und erscheint daher grau. dh es hat git auch darin initialisiert.
In meinem Fall hatte ich bei der Bereitstellung in Heroku ein Git-Repository im Stammordner (das mit manage.py) initialisiert, bevor ich ein Git-Repository im übergeordneten Ordner des Projekts eingerichtet habe.
Als ich dann ein neues Repo im übergeordneten Ordner des Projekts erstellte, war der Stammordner, der die Modellansichten und Controller verwaltet, ausgegraut. Folgendes hat bei mir funktioniert:
Gehen Sie in Ihrem Stammordner mit der Datei "manage.py" wie folgt vor:
git remote add origin "github repo link"
Git Push -u Origin Master