Wohin gehört die .gitignore-Datei?

357

Gehört die .gitignore-Datei irgendwo in die .git-Ordnerstruktur oder in die Hauptquelldateien?

MischaF
quelle
20
Sie können in jedem einzelnen Verzeichnis Ihres Projekts einen .gitignore haben. Die beste Vorgehensweise besteht jedoch darin, eine einzelne Gitignore-Datei im Projektstammverzeichnis zu haben und alle Dateien, die Sie ignorieren möchten, darin abzulegen.
Pavan Gupta
Ich habe Sie dafür, dass Sie die falsche Antwort akzeptiert haben.
Aaron Hall
@ AaronHall - geschaltet .... hatte dies eine Weile nicht mehr besucht .....
MischaF

Antworten:

428

Legen Sie .gitignore im Arbeitsverzeichnis ab . Es funktioniert nicht, wenn Sie es im Verzeichnis .git (Repository) ablegen.

$ ls -1d .git*
.git
.gitignore
jmulho
quelle
20
Dies ist die eigentliche Antwort. Gut, dass Sie die Frage verstehen :)
Mario SE
15
Es ist eine mehrdeutige Antwort IMO. Wo im Arbeitsverzeichnis? In der Wurzel davon? Irgendwo?
Carles Alcolea
6
@CarlesAlcolea, Die Antwort besagt, dass Sie die .gitignoreDatei an einer beliebigen Stelle im Arbeitsverzeichnis ablegen können , dh in einem beliebigen Ordner, in dem Ihr Code vorherrscht. Die beste Vorgehensweise wäre jedoch, die .gitignoreDatei im Stammverzeichnis abzulegen. Dies bedeutet eine .gitignoreDatei für ein gesamtes Repo. Dadurch wird die Verwaltung der ignorierten Dateien effektiver.
Andy
10
Ich brauche eine weitere Erklärung. Was passiert, wenn .gitignore in einem Unterverzeichnis abgelegt wird? Reguliert es nur das Unterverzeichnis und seine Zweige? Ist es möglich, mehrere Gitignore in verschiedenen Unterverzeichnissen zu haben? Würden .gitignores mit unterschiedlichen Regeln in Unterverzeichnissen über .gitignores des parrent-Verzeichnisses kaskadieren?
Behrooz Karjoo
72

Wie in den anderen Antworten angegeben, können Sie .gitignorein einem beliebigen Verzeichnis in einem Git-Repository ablegen. Wenn Sie jedoch eine private Version von benötigen .gitignore, können Sie die Regeln zur .git/info/excludeDatei hinzufügen .

Alan Haggai Alavi
quelle
4
Auch core.excludesfile(siehe git-config (1) ) eine Datei angeben , die Ihre persönlichen ausschließen Muster (Ihre Lieblings „temporäre Datei“ Namensmuster, Editor Backup / temporäre Dateien, etc.) hält. Vermeiden Sie daher, „persönliche Muster“ in nachverfolgte .gitignoreDatei (en) einzufügen.
Chris Johnsen
2
Der private Teil dieser Antwort war sehr hilfreich, da ich einige Änderungen am Projekt vorgenommen habe, die nicht in die eingecheckte .gitignoreDatei gehören.
OregonGhost
57

Sie können .gitignore in einem beliebigen Verzeichnis in git ablegen.

Es wird häufig als Platzhalterdatei in Ordnern verwendet, da Ordner normalerweise nicht von git verfolgt werden.

philipk
quelle
7
warum darfst du es irgendwo hinstellen? Wie kommt es, dass Git nicht verwirrt wird?
Charlie Parker
3
So kann die .gitignore Datei geht in dem .git Verzeichnis selbst, kann es? (Welches war die ursprüngliche Frage). Welchen Zweck würde das erfüllen?
Bacar
8

Wenn Sie dies global tun möchten, können Sie den Standardpfad verwenden, nach dem git sucht. Platzieren Sie es einfach in einer Datei mit dem Namen "Ignorieren" im Pfad~/.config/git

(so vollständiger Pfad für die Datei ist: ~/.config/git/ignore)

Liran Brimer
quelle
3

Möglicherweise finden Sie auch einen globalen Gitignore direkt im Pfad ~, wenn Sie ihn nicht in Ihrem Ordnerprojekt erstellt haben. Diese Datei wird von allen Ihren .git-Projekten berücksichtigt.

XLE_22
quelle
0

Wenn Sie ein neues Konto bei Github erstellen, können Sie .gitignore hinzufügen und es wird automatisch am rechten / Standardspeicherort Ihres Arbeitsplatzes eingerichtet. Sie müssen dort zu Beginn nichts hinzufügen, sondern können den Inhalt jederzeit ändern.

Thielicious
quelle