2014-02-24 5 views
9

Was ist der Unterschied zwischen einem Ordner ignorieren und Untrack in Git? Ich muss einige Ordner aus meinem Git-Repository entfernen und arbeite in Netbeans mit den Git-Plugins und stelle versehentlich die Ordner build, dist und nbproject in mein Repository und jetzt muss ich diese Ordner entfernen.Unterschied zwischen Git Ignorieren und Untrack

Antwort

10

Wenn Sie in Ihrem Repository eine Datei mit dem Namen .gitignore erstellen, verwendet git bei der Überprüfung von Dateien die entsprechenden Regeln. git ignoriert eine Datei, die bereits verfolgt wurde (d. h. sich im Repo befand), bevor eine Regel zu dieser Datei hinzugefügt wurde, um sie zu ignorieren. Die Datei muss un-nachgeführt (aus dem Repo entfernt) sein

git rm --cached filename 

Der Befehl stoppt Tracking aber halten die Datei dort intakt.

0

Sie sollten untrack anstelle von gitignore verwenden, da sich gitignore nicht auf Dateien auswirkt, die gerade verfolgt werden. http://git-scm.com/docs/gitignore

+0

Sie erklären nicht, was Tracking ist. –

7

Mit „ignorieren“ Ich nehme an, Sie .gitignore bedeuten, die eine spezielle Datei ist, dass git liest machen eine Reihe von Dateien und/oder Verzeichnisse zu bestimmen, zu ignorieren. Sie können dies überschreiben, aber im Allgemeinen werden diese Dateien von jedem git Betrieb ausgeblendet.

"Untracked" in git bedeutet nur, dass Sie die Datei noch nicht dem Repository hinzugefügt haben.

Wenn eine Datei vom .gitignore nicht erkannt wird, wird sie nicht über git status oder einen anderen git Befehl angezeigt.

Ihr aktuelles Problem zu lösen, wo Sie bereits Dateien versehentlich hinzugefügt, die Sie nicht wollen, zu ignorieren, verfolgen und wollen, fügen Sie zuerst die Ordner auf Ihrem .gitignore und dann diesen Befehl versuchen:

git rm -r --cached "path/to/ignored/directories" 

Diese entfernt die unerwünschten Verzeichnisse aus Ihrem Repo, löscht sie jedoch nicht aus Ihrer lokalen Arbeitskopie.

+0

Danke für die Erklärung, was "untracked" bedeutet. – LarsH