1036 Stimmen

Wie kann ich verhindern, dass .gitignore in der Liste der nicht verfolgten Dateien angezeigt wird?

Ich habe gerade eine git init auf der Wurzel meines neuen Projekts.

Dann habe ich eine .gitignore Datei.

Wenn ich jetzt tippe git status , .gitignore Datei erscheint in der Liste der nicht verfolgten Dateien. Warum ist das so?

13voto

Maze Punkte 716

Achten Sie auf das folgende "Problem" Manchmal möchten Sie Verzeichnisse hinzufügen, aber keine Dateien innerhalb dieser Verzeichnisse. Die einfache Lösung besteht darin, eine .gitignore mit dem folgenden Inhalt zu erstellen:

*

Dies scheint gut zu funktionieren, bis Sie feststellen, dass das Verzeichnis nicht (wie erwartet) zu Ihrem Repository hinzugefügt wurde. Der Grund dafür ist, dass die .gitignore ebenfalls ignoriert wird und das Verzeichnis somit leer ist. Daher sollten Sie etwas wie folgt tun:

*
!.gitignore

9voto

Dies scheint nur für Ihr aktuelles Verzeichnis zu funktionieren, um die Git um alle Dateien des Repositorys zu ignorieren.

diese Datei aktualisieren

.git/info/exclude 

mit Ihrem Platzhalter oder Dateinamen

*pyc
*swp
*~

8voto

Aaron Punkte 1993

Wenn Sie bereits .gitignore eingecheckt haben und Änderungen daran ignorieren wollen, lesen Sie diese Antwort :

Versuchen Sie es mit diesem Befehl:

git update-index --assume-unchanged FILENAME_TO_IGNORE

Um sie rückgängig zu machen (falls Sie jemals Änderungen daran vornehmen wollen), verwenden Sie:

git update-index --no-assume-unchanged

UPDATE :

So wird die Liste erstellt unverändert übernehmen Dateien unter aktuellen Verzeichnis:

git ls-files -v | grep -E "^[a-z]"

Da die -v die Option verwendet Kleinbuchstaben für 'unverändert übernehmen' Dateien.

5voto

Andrea Perdicchia Punkte 2731

In meinem Fall möchte ich eine bestehende Datei ausschließen. Nur Ändern .gitignore nicht funktionieren. Ich habe diese Schritte befolgt:

git rm --cached dirToFile/file.php
vim .gitignore
git commit -a

Auf diese Weise habe ich die Datei, die ich ausschließen wollte, aus dem Zwischenspeicher entfernt, und nachdem ich sie zu .gitignore .

3voto

weffen Punkte 31

Wechseln Sie in das Basisverzeichnis Ihres Git-Repos und führen Sie den folgenden Befehl aus:

echo '\\.*' >> .gitignore

Alle Dot-Dateien werden ignoriert, einschließlich der lästigen .DS_Store-Datei, wenn Sie einen Mac verwenden.

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