it-swarm.com.de

Was sind die Unterschiede zwischen .gitignore und .gitkeep?

Was sind die Unterschiede zwischen .gitignore und .gitkeep? Sind sie dasselbe mit einem anderen Namen oder haben beide eine andere Funktion? Ich finde anscheinend nicht viel Dokumentation zu .gitkeep.

1714
Matty

.gitkeep ist nicht dokumentiert, da es kein Feature von Git ist.

Git kann kein vollständig leeres Verzeichnis hinzufügen . Personen, die leere Verzeichnisse in Git nachverfolgen möchten, haben die Konvention erstellt, in diesen Verzeichnissen Dateien mit dem Namen .gitkeep abzulegen. Die Datei könnte irgendetwas heißen; Git weist diesem Namen keine besondere Bedeutung zu.

Es gibt eine konkurrierende Konvention, eine .gitignore -Datei zu den leeren Verzeichnissen hinzuzufügen, um sie aufzuspüren, aber einige Leute sehen dies als verwirrend an, da das Ziel darin besteht, die leeren Verzeichnisse beizubehalten, sie nicht zu ignorieren. .gitignore wird auch verwendet, um Dateien aufzulisten, die von Git ignoriert werden sollen, wenn nach nicht verfolgten Dateien gesucht wird.

3081
Wooble

.gitkeep ist nur ein Platzhalter. Eine Dummy-Datei, damit Git das Verzeichnis nicht vergisst, da Git nur Dateien verfolgt.


Wenn Sie ein leeres Verzeichnis wünschen und sicherstellen möchten, dass es für Git 'sauber' bleibt, erstellen Sie einen .gitignore, der die folgenden Zeilen enthält:

# .gitignore sample 
###################

# ignore all files in this dir...
*

# ... except for this one.
!.gitignore

Wenn Sie möchten, dass nur ein Dateityp für git sichtbar ist, finden Sie hier ein Beispiel, wie Sie alles herausfiltern können, mit Ausnahme von .gitignore und allen .txt -Dateien:

# .gitignore to keep just .txt files
###################################

# filter everything...
*

# ... except the .gitignore...
!.gitignore

# ... and all text files.
!*.txt

('#' kennzeichnet Kommentare.)

287
sjas
.gitignore

ist eine Textdatei, die eine Liste von Dateien in Ihrem Verzeichnis enthält, die git ignoriert oder im Repository nicht hinzufügt/aktualisiert.

.gitkeep

Da git leere Verzeichnisse zu einem Repo entfernt oder nicht hinzufügt, ist .gitkeep eine Art Hack (ich glaube nicht, dass es offiziell als Teil von git bezeichnet wird), um leere Verzeichnisse im Repo zu behalten.

führen Sie einfach einen touch /path/to/emptydirectory/.gitkeep aus, um die Datei hinzuzufügen, und git kann dieses Verzeichnis nun im Repository verwalten.

118
Jim Munro