Meine .gitignore
Datei funktioniert aus irgendeinem Grund nicht und keine Menge Googeln konnte sie beheben. Folgendes habe ich:
*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
Es ist in dem Verzeichnis master
, das mein Git-Repo ist. Ich verwende Git 1.8.4.2, weil ich auf einem MacBook mit OSX 10.8.6 bin.
/bin/
Ordner immer noch angezeigt , wenn ich agit status
. Ich habe diese Dateien nicht geändert, seit ich den.gitignore
Antworten:
Die Dateien / Ordner in Ihrer Versionskontrolle löschen sich nicht nur selbst, nur weil Sie sie dem hinzugefügt haben
.gitignore
. Sie befinden sich bereits im Repository und müssen entfernt werden. Sie können das einfach so machen:( Denken Sie daran, alles zu übernehmen, was Sie geändert haben, bevor Sie dies tun. )
Dadurch werden alle Dateien aus dem Repository entfernt und wieder hinzugefügt (diesmal unter Beachtung der Regeln in Ihrem Repository
.gitignore
).quelle
git ignore path/file
.Um eine einzelne Datei zu entfernen, die bereits zu Ihrem Repository hinzugefügt / initialisiert wurde, beenden Sie die Verfolgung der Datei, löschen Sie sie jedoch nicht aus Ihrem System. Verwenden Sie:
git rm --cached filename
So entfernen Sie jede Datei, die sich jetzt in Ihrem befindet
.gitignore
:Übernehmen Sie zuerst alle ausstehenden Codeänderungen und führen Sie dann diesen Befehl aus:
Dadurch werden alle geänderten Dateien aus dem Index (Staging-Bereich) entfernt und anschließend ausgeführt:
Verpflichte es:
quelle
Nachdem ich ein bisschen wie ein Kaninchenbau hinuntergegangen war und versucht hatte, den Antworten auf diese Frage zu folgen (vielleicht weil ich dies in einem Visual Studio-Projekt tun musste), fand ich den einfacheren Weg
Ausschneiden und Einfügen der Datei (en), die ich nicht mehr verfolgen möchte, an einem temporären Speicherort
Übernehmen Sie das "Löschen" dieser Dateien
Übernehmen Sie eine Änderung von
.gitignore
, um die Dateien auszuschließen, die ich vorübergehend verschoben habeVerschieben Sie die Dateien zurück in den Ordner.
Ich fand dies der direkteste Weg , um darüber zu gehen (zumindest in einem Visual Studio, oder würde ich andere IDE hieven basierte Umgebung wie Android Studio übernehmen), ohne versehentlich selbst in dem Fuß mit einem ziemlich allgegenwärtigen zu Schießen
git rm -rf --cached .
, wonach Das Visual Studio-Projekt, an dem ich gearbeitet habe, wurde nicht geladen.quelle
In meinem Fall war es ein Leerzeichen am Anfang der Datei, das deutlich sichtbar wurde, als ich die Datei im Editor öffnete, was in Visual Studio Code nicht offensichtlich war.
quelle
Ich habe etwas verwendet, um Gemeinsamkeiten
.gitignore
für mich zu generieren , und bin darauf gestoßen. Nachdem ich die Antwort von @Ozesh gelesen hatte, öffnete ich sie im VS-Code, da unten rechts ein schöner Indikator für die Art der Zeilenenden angezeigt wird. Es war LF, also habe ich wie vorgeschlagen auf CRLF umgestellt, aber keine Würfel.Dann schaute ich neben die Zeilenenden und bemerkte, dass sie mit UTF16 gespeichert wurden. Also habe ich mit UTF8-Codierung eines Voila erneut gespeichert, es hat funktioniert. Ich dachte nicht, dass die CRLF wichtig ist, also habe ich sie wieder in LF geändert, um sicherzugehen, und es hat immer noch funktioniert.
Natürlich war dies kein OPs-Problem, da er die Dateien bereits festgeschrieben hatte, sodass sie bereits indiziert waren, aber ich dachte, ich würde sie teilen, falls jemand anderes darüber stolpert.
TLDR ; Wenn Sie die Dateien noch nicht festgeschrieben haben und .gitignore immer noch nicht eingehalten wird, überprüfen Sie die Dateicodierung und stellen Sie sicher, dass UTF8 vorhanden ist. Wenn dies nicht funktioniert, versuchen Sie möglicherweise, mit den Zeilenenden herumzuspielen.
quelle
In meinem Fall waren Leerzeichen am Ende der Zeilen von .gitignore die Ursache. Achten Sie also auf Leerzeichen im Gitignore!
quelle
Ich habe mein Problem folgendermaßen gelöst:
Zunächst einmal bin ich ein Windows-Benutzer, aber ich habe ähnliche Probleme. Also poste ich meine Lösung hier.
Es gibt einen einfachen Grund, warum der .gitignore manchmal nicht so funktioniert, wie er soll. Dies liegt am EOL-Konvertierungsverhalten.
Hier ist eine schnelle Lösung dafür
Bearbeiten> EOL-Konvertierung> Windows-Format> Speichern
Sie können Ihre Texteditor-Einstellungen dafür verantwortlich machen.
Beispielsweise:
Als Windows-Entwickler verwende ich im Gegensatz zu Vim-Benutzern normalerweise Notepad ++ zum Bearbeiten meines Textes.
Wenn ich also meine .gitignore-Datei mit Notepad ++ öffne, sieht es ungefähr so aus:
Wenn ich dieselbe Datei mit dem Standard-Editor öffne, bekomme ich Folgendes
Vielleicht haben Sie es bereits erraten, indem Sie sich die Ausgabe angesehen haben. Alles im .gitignore ist zu einem Einzeiler geworden, und da am Anfang ein ## steht, verhält es sich so, als ob alles kommentiert wäre.
Die Möglichkeit, dies zu beheben, ist einfach: Öffnen Sie einfach Ihre .gitignore-Datei mit Notepad ++ und gehen Sie dann wie folgt vor
Bearbeiten> EOL-Konvertierung> Windows-Format> Speichern
Wenn Sie das nächste Mal dieselbe Datei mit dem Windows-Standardnotizblock öffnen, sollte alles ordnungsgemäß formatiert sein. Probieren Sie es aus und sehen Sie, ob dies für Sie funktioniert.
quelle
Außerdem müssen Kommentare in einer eigenen Zeile stehen. Sie können nicht nach einem Eintrag gesetzt werden. Das wird also nicht funktionieren:
Aber das wird funktionieren:
quelle
Funktioniert
git reset --hard
für jemanden? Ich sage nicht, dass dies eine gute Lösung ist, es schien nur beim ersten Versuch zu funktionieren.quelle
Ich habe den großen Fehler gemacht, meinen Dockerignore zu bearbeiten, und habe großartig funktioniert, nachdem ich die richtige Ignorierdatei gefunden habe: p
quelle
Mein Bit hinzuzufügen, da dies eine beliebte Frage ist.
Ich konnte das Verzeichnis .history nicht in .gitignore ablegen, da es, egal welche Kombination ich versuchte, einfach nicht funktionierte. Windows generiert bei jedem Speichern neue Dateien, und ich möchte diese überhaupt nicht sehen.
Aber dann wurde mir klar, dass dies nur meine persönliche Entwicklungsumgebung auf meinem Computer ist. Dinge wie .history oder .vscode sind spezifisch für mich, daher wäre es seltsam, wenn jeder seine eigenen .gitignore-Einträge basierend auf der von ihm verwendeten IDE oder dem verwendeten Betriebssystem einfügen würde.
Also hat das bei mir funktioniert, füge einfach ".history" an .git / info / exclude an
quelle