Warum schlägt Git "Änderungen" an einer (theoretisch) ignorierten Datei (Pfad) vor?

8

Ich benutze VS2015 GitHub Erweiterung, auf einem Repositar, das ich besitze (gespalten, wirklich). In der .gitignore Datei habe ich irgendwann (von der Verzweigung genommen, habe ich mir das ignore nicht hinzugefügt):

%Vor%

Aber auf VS2015 scheint es, dass eine Datei in diesem Ordner "bearbeitet" wurde und inszeniert werden muss:

Ich will das natürlich nicht. Diese Dateien / Pfad sollten von Versionierung "ignoriert" werden.

Wo liege ich falsch?

EDIT: Ich will nicht "Workaround", um es zu ignorieren. Ich will es nicht mehr gitarren ...

    
markzzz 10.03.2017, 08:04
quelle

4 Antworten

8

Es scheint, dass die Datei einmal festgeschrieben wurde (vielleicht bevor sie ignoriert wurde, vielleicht hat jemand Git dazu gezwungen, mit der Verfolgung zu beginnen).

Sie können die Datei von Git (aber nicht von Ihrer Festplatte) mit

entfernen %Vor%

Danach erscheint anstelle von "modifiziert" die Datei als "gelöscht". Dies wird erwartet und sollte festgeschrieben werden (dieses Commit wird das Problem auch für alle anderen Entwickler in diesem Projekt beheben). Danach ignoriert Git die Datei für dich und alle anderen.

    
Nils Werner 10.03.2017, 08:07
quelle
6

.gitignore funktioniert für Dateien, die noch nicht Teil des Projekts sind. Wenn eine Datei bereits Teil des Projekts ist (es ist bereits ein Teil von HEAD), dann spielt die Datei, die Teil von .gitignore ist, keine Rolle. Wenn diese Datei bereits Teil des Projekts ist und Sie sie immer noch nicht als modifiziert sehen möchten (komisch, aber möglich), dann müssen Sie git update-index verwenden, um git zu sagen, dass es Ihnen egal ist darüber.

    
eftshift0 15.03.2017 14:45
quelle
0

Sie ignorieren Verzeichnisse und alles darunter / darunter:

%Vor%

Verwenden Sie nicht * am Ende.

    
kriegaex 21.03.2017 16:18
quelle
-1

Es gibt einen Fehler in VS2015 (und VS2013), der dazu führt, dass einige .gitignore -Regeln nicht eingehalten werden.

Lösung 1:

Versuchen Sie, in Ihrem Lösungsverzeichnis nach der Datei .git\ms-persist.xml zu suchen und diese zu löschen (Sie müssen möglicherweise sicherstellen, dass Sie versteckte Dateien und Ordner sehen). Sobald Sie Visual Studio neu gestartet haben, wird Ihr .gitignore (regenerating ms-persist.xml ) erneut gelesen und die ignorierten Dateien sollten nicht mehr verfolgt werden.

Lösung 2 Workaround:

Wenn dies Ihr Problem nicht löst, besteht der nächste Schritt darin, die Datei, die Sie nicht verfolgen möchten, explizit in Ihrem .gitignore :

zu deklarieren %Vor%     
CodeMacabre 20.03.2017 15:01
quelle

Tags und Links