Ich habe vor kurzem angefangen, Git zu verwenden und habe Probleme mit nur einer Sache. Wie kann ich Verzeichnisse verfolgen, ohne deren Inhalt zu verfolgen?
Zum Beispiel erlaubt die Site, an der ich arbeite, Uploads. Ich möchte das Upload-Verzeichnis so verfolgen, dass es beim Verzweigen usw. erstellt wird, aber offensichtlich nicht die darin enthaltenen Dateien (Testdateien während der Entwicklungsverzweigung oder die realen Dateien im Master).
In meinem .gitignore habe ich Folgendes:
Uploads /*.*
Habe auch versucht (was das ganze Verzeichnis ignoriert):
Uploads /
Dieses Verzeichnis kann auch Unterverzeichnisse enthalten (Uploads / Thumbs / Uploads / Videos /). Ich möchte diese, aber nicht ihre Dateien verfolgen können.
Ist das mit Git möglich? Ich habe überall gesucht, ohne eine Antwort zu finden.
.placeholder
-file" -Lösung;)Antworten:
Git verfolgt keine Verzeichnisse, sondern Dateien. Um dies zu erreichen, müssen Sie mindestens eine Datei verfolgen. Angenommen, Ihre
.gitignore
Datei sieht ungefähr so aus:Du kannst das:
Wenn Sie das vergessen, werden
-f
Sie sehen:Wenn Sie dies tun, werden
git status
Sie sehen:Natürlich können Sie dann:
quelle
.gitignore
Datei als Platzhalter zu verwenden.Ich habe hier darüber geschrieben .
Fügen Sie einen .gitignore in das Verzeichnis ein.
quelle
.gitkeep
Die beste Antwort, die ich gefunden habe, ist, eine Gitignore-Datei mit diesem Inhalt in Ihren Upload-Ordner aufzunehmen
Hier haben Sie Wie kann ich einem Git-Repository ein leeres Verzeichnis hinzufügen?
quelle
Die bisher beste Lösung:
1) Erstellen Sie eine Gitignore- Datei
2) Schreiben Sie hinein:
3) Fügen Sie die Gitignore-Datei dem gewünschten Ordner hinzu.
Quelle: https://stackoverflow.com/a/5581995/2958543
quelle
Um nur Verzeichnisse, aber nicht die Dateien zu verfolgen, habe ich Folgendes getan. Dank des Kommentars von @ PeterFarmer zu Git-Tracking-Dateien konnte ich alle Verzeichnisse außer den Dateien wie unten beschrieben behalten.
Das Hinzufügen dieser zur .gitignore-Datei erledigt die Arbeit. Das Folgende ist meine Ordnerstruktur.
Wenn ich das tue
git add . && git status
, erkennt git nur Ordner, aber keine Dateien.Beachten Sie Folgendes für Ihre .gitignore-Dateien:
Der vorangestellte Schrägstrich sucht nur nach dem Stammverzeichnis.
Double Asterisk sucht nach null oder mehr Verzeichnissen.
quelle