1002 Stimmen

Gitignore funktioniert nicht

Meine .gitignore-Datei funktioniert aus irgendeinem Grund nicht, und keine Menge Googeln konnte es beheben. Hier ist was ich habe:

*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log

Es ist im Verzeichnis master, das mein Git-Repository ist. Ich benutze Git 1.8.4.2, weil ich einen MacBook mit OSX 10.8.6 nutze.

27voto

DeezCashews Punkte 2152

Ich habe etwas verwendet, um eine gemeinsame .gitignore für mich zu generieren und bin dabei auf folgendes gestoßen. Nachdem ich die Antwort von @Ozesh gelesen hatte, öffnete ich sie in VS Code, weil dort ein schöner Indikator unten rechts den Typ der Zeilenenden anzeigt. Es war LF, also habe ich es in CRLF umgewandelt, wie vorgeschlagen, aber kein Glück.

Dann schaute ich neben den Zeilenenden und stellte fest, dass es im UTF16-Format gespeichert war. Also habe ich es mit UTF8-Encoding neu gespeichert und siehe da, es hat funktioniert. Ich dachte nicht, dass das CRLF wichtig war, also habe ich es zurück zu LF geändert, um sicher zu gehen, und es hat immer noch funktioniert.

Natürlich war dies nicht das Problem des OPs, da er die Dateien bereits committed hatte und sie daher bereits indiziert waren, aber ich dachte, ich teile es trotzdem, falls jemand anderes darüber stolpert.

Zusammenfassung: Wenn du die Dateien noch nicht committed hast und die .gitignore immer noch nicht beachtet wird, überprüfe die Dateicodierung und stelle sicher, dass sie UTF8 ist, und wenn das nicht funktioniert, versuche vielleicht, mit den Zeilenenden herumzuspielen.

17voto

Abraham Punkte 4525

Ich hatte echo node_modules >> .gitignore gemacht und es hat nicht funktioniert.

Aus irgendeinem Grund speichert das Terminal von vscode die Datei in UCS-2 LE BOM und git scheint das nicht zu akzeptieren.

Ich habe die Datei geöffnet und in UTF-8 mit Notepad++ konvertiert

Ändern der Codierung in Notepad++

Es funktioniert jetzt.

Ich denke, sie müssen das beheben, da echo "filetoignore" >> .gitignore tatsächlich eine praktische Sache zu sein scheint

11voto

S Saad Punkte 131

In meinem Fall war es ein Leerzeichen am Anfang der Datei, das deutlich sichtbar wurde, als ich die Datei in Notepad öffnete, in Visual Studio Code war es nicht offensichtlich.

7voto

Ozesh Punkte 5680

Ich habe mein Problem folgendermaßen gelöst:

Zunächst einmal bin ich ein Windows-Benutzer, aber ich habe ein ähnliches Problem gehabt. Deshalb poste ich meine Lösung hier.

Es gibt einen einfachen Grund, warum manchmal die .gitignore nicht wie vorgesehen funktioniert. Es liegt am Verhalten der EOL-Konvertierung.

Hier ist eine schnelle Lösung dafür

Bearbeiten > EOL-Konvertierung > Windows-Format > Speichern

Sie können Ihre Text-Editor-Einstellungen verantwortlich machen dafür.

Zum Beispiel:

Als Windows-Entwickler verwende ich normalerweise Notepad++ zum Bearbeiten meines Textes im Gegensatz zu Vim-Benutzern.

Das passiert, wenn ich meine .gitignore-Datei mit Notepad++ öffne, sieht es so aus:

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# See https://help.github.com/ignore-files/ for more about ignoring files.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
*.dll
*.force
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

Wenn ich dieselbe Datei mit dem Standard-Notepad öffne, sieht es so aus

## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from  https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # See https://help.github.com/ignore-files/ for more about ignoring files. # User-specific files *.suo *.user *.userosscache 

Also, du hast wahrscheinlich schon erraten, indem du dir das Ergebnis angesehen hast. Alles in der .gitignore ist zu einer Zeile geworden, und da es ein ## am Anfang gibt, wird alles wie auskommentiert behandelt.

Der Weg, um das zu beheben, ist einfach: Öffnen Sie Ihre .gitignore-Datei mit Notepad++, und tun Sie dann Folgendes

Bearbeiten > EOL-Konvertierung > Windows-Format > Speichern

Das nächste Mal, wenn Sie dieselbe Datei mit dem Standard-Notepad öffnen, sollte alles ordnungsgemäß formatiert sein. Probieren Sie es aus und sehen Sie, ob es für Sie funktioniert.

5voto

026 Punkte 389

In meinem Fall waren Leerzeichen am Ende der Zeilen in .gitignore die Ursache. Achten Sie also auf Leerzeichen in der .gitignore!

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