2012-12-02 30 views
12

Momentan, wenn ich eine Datei erstelle, die Git nachverfolgen soll, füge ich sie einfach zum Index hinzu. Wenn ich es nicht zum Index hinzufüge, würde Git es nicht sehen. Warum sollte ich also eine Gitignore-Datei verwenden, anstatt sie einfach zum Index hinzuzufügen?Warum sollte ich Gitignore benutzen?

Antwort

8

Sie werden im Allgemeinen finden, dass das Hinzufügen jeder einzelnen Datei nach und nach mühsam werden kann, wenn Ihr Projekt größer wird.

In Java können Sie viele .class Dateien haben, die Sie nicht zu Ihrem Repository hinzufügen möchten. Ähnlich können Sie mit vielen .o Dateien in C oder .pyc in Python enden (zum Beispiel).

mit Mustern wie *.class, *.o, *.pyc in Ihrem .gitignore Dateien können Sie die Dateien, ein für alle Mal ignorieren. Nachfolgende git status läuft (oder ähnlich, wenn Sie eine GUI verwenden) wird Ihnen nicht sagen, dass dies neue, nicht nachverfolgte Dateien sind, so dass Sie sich auf die Dateien konzentrieren können, die wirklich neu und merkbar ungepackt sind.

Dies kann auch nützlich sein, wenn Sie ein ganzes Verzeichnis hinzufügen (z. B. git add myproject): Damit können Sie eine Kategorie von Dateien insgesamt ignorieren.

6

Es verbirgt die Datei von git status. Gerade bei vielen generierten Dateien möchten Sie nicht, dass sie ständig dort erscheinen. Es verhindert auch, dass Sie sie versehentlich hinzufügen, z. dabei git add somefolder.

Der Zweck von Gitignore-Dateien besteht darin, sicherzustellen, dass bestimmte Dateien, die nicht von git verfolgt werden, nicht geparkt bleiben.

3

Der Zweck gitignore Dateien ist, dass bestimmte Dateien nicht von git bleiben untracked verfolgt zu gewährleisten.

http://git-scm.com/docs/gitignore

Sagen Sie bitte git add . aus dem Stammverzeichnis Ihrer Repo laufen, und Sie haben nichts ignoriert. Sie haben gerade zum Index alle diese Dateien hinzugefügt, die Sie waren geistig Ignorieren vor. Ein zusätzlicher Vorteil ist, dass Sie mit einer versionsgesteuerten .gitignore sicherstellen können, dass andere keinen ähnlichen Fehler machen.

0

Zusätzlich zu seiner Bequemlichkeit für die Verwendung von git commit -a ist es eine Schutzvorrichtung gegen versehentliche Verschmutzung Ihres Repository oder die Offenlegung sensibler Informationen.

0

Der Vorteil der Angabe einiger Dateien in .gitignore Datei ist, dass Sie alle Ihre überwachten Dateien auf einmal committen können, ohne sich über versehentlich hinzugefügte ignorierte Dateien Sorgen zu machen. Es ist bei weitem schneller Ihre Dateien zu begehen zum Beispiel mit:

git commit -a 

statt einem nach der anderen dem Hinzufügen ...

1

Ja, unerwünschte Dateien zu vermeiden, in Remote-Repository von GIT begangen werden. Geben Sie einfach entsprechende Beschreibung in .gitignore Datei wie,

, wenn ich Dateien mit der Erweiterung von Pyc-Datei oder vermeiden möchte.Klassendatei dann, * .pyc * .class

Ich werde diese zwei Zeilen in .gitignore Datei setzen. in Zukunft muss ich mich nicht um diese Dateien kümmern, die in GIT Repo nie ausgeführt werden.

Danke!

1

Das Hinzufügen jeder Datei ist nicht mühsam. Zum Beispiel, wenn Sie ein paar neuen .java-Dateien haben, können Sie tun:

find . -name \*.java | xargs git add

alle möglichen Ausnahmen in .gitignore Keeping langweilig wäre, wenn Sie eine Menge von ihnen. So .gitignore macht Sinn, wenn Ausnahmen (Muster von Dateien, die nicht eingecheckt werden sollten) sind wenige, aber es gibt viele Muster von Dateien, die überprüft werden und neue Dateien tauchen regelmäßig auf. Aber wenn es anders ist, denke ich, dass das Leben ohne .gitignore besser ist.

Verwandte Themen