642 Stimmen

Sollten Sie .gitignore in die Git-Repos übertragen?

Glauben Sie, dass es eine gute Praxis ist, sich .gitignore in ein Git Repo?

Manche Leute mögen das nicht, aber ich finde es gut, weil man den Verlauf der Datei verfolgen kann. Stimmt's?

622voto

Bruce Stephens Punkte 6895

Normalerweise ja, .gitignore ist für jeden nützlich, der mit dem Repository arbeiten möchte. Gelegentlich werden Sie privatere Dinge ignorieren wollen (vielleicht erstellen Sie oft LOG oder so ähnlich. In solchen Fällen wollen Sie das wahrscheinlich nicht anderen aufzwingen.

170voto

Stéphan Kochen Punkte 18962

Sie sind typischerweise hacer übergeben. .gitignore . Ich persönlich gehe sogar so weit, dass ich dafür sorge, dass mein Index immer sauber ist, wenn ich nicht gerade an etwas arbeite. ( git status sollte nichts anzeigen.)

Es gibt Fälle, in denen man Dinge ignorieren möchte, die wirklich nicht projektspezifisch sind. Zum Beispiel kann Ihr Texteditor automatische *~ Sicherungsdateien, oder ein anderes Beispiel wäre die .DS_Store Dateien, die von OS X erstellt wurden.

Ich würde sagen, wenn sich andere darüber beschweren, dass diese Regeln Ihre Arbeit erschweren .gitignore lassen Sie sie weg und fügen Sie sie stattdessen in eine globale Ausschlussdatei ein.

Standardmäßig befindet sich diese Datei in $XDG_CONFIG_HOME/git/ignore (Standardwert ist ~/.config/git/ignore ), aber dieser Ort kann geändert werden, indem man die core.excludesfile Option. Zum Beispiel:

git config --global core.excludesfile ~/.gitignore

Erstellen und bearbeiten Sie einfach die globale Ausschlussdatei nach Herzenslust; sie gilt dann für jedes Git-Repository, an dem Sie auf diesem Rechner arbeiten.

13voto

Bitdiot Punkte 1476

Ich habe Commit .gitignore gesetzt, um anderen, die mein Projekt bauen könnten, mitzuteilen, dass die folgenden Dateien abgeleitet sind und ignoriert werden sollten.

Ich mache normalerweise eine Mischung. Ich mag es, wenn makefile die .gitignore-Datei generiert, da das makefile alle Dateien kennt, die mit dem Projekt verbunden sind - ob abgeleitet oder nicht. Dann gibt es eine .gitignore-Datei für die oberste Ebene des Projekts, die Sie einchecken und die die vom makefile erzeugten .gitignore-Dateien für die verschiedenen Unterverzeichnisse ignorieren würde.

In meinem Projekt könnte ich also ein bin-Unterverzeichnis mit allen erstellten ausführbaren Dateien haben. Dann lasse ich mein Makefile eine .gitignore für dieses bin-Verzeichnis erzeugen. Und in dem obersten Verzeichnis .gitignore, das bin/.gitignore auflistet. Das oberste Verzeichnis ist dasjenige, das ich einchecke.

2voto

Patrick Perdu Punkte 11

Das Committen von .gitignore kann sehr nützlich sein, aber Sie sollten sicherstellen, dass Sie es danach nicht zu sehr verändern, besonders wenn Sie regelmäßig zwischen Zweigen wechseln. Wenn Sie das tun, kann es vorkommen, dass Dateien in einem Zweig ignoriert werden und im anderen nicht. Das zwingt Sie dazu, Dateien in Ihrem Arbeitsverzeichnis manuell zu löschen oder umzubenennen, weil ein Checkout fehlgeschlagen ist, da eine nicht verfolgte Datei überschrieben wurde.

Daher sollten Sie Ihre .gitignore-Datei übertragen, aber erst, wenn Sie sicher sind, dass sie sich danach nicht mehr so stark verändert.

-10voto

Jakub Narębski Punkte 286531

Es ist eine gute Praxis .gitignore mindestens Ihre erstellten Produkte (Programme, *.o usw.).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X