it-swarm.com.de

Änderungen in Visual Studio 2017 15.3.0 beinhalten "storage.ide", obwohl .vs/in .gitignore

Ich habe vor einigen Tagen VS 2017 auf 15.3.0 aktualisiert. Seitdem ist die Datei "storage.ide" in meinen modifizierten Dateien erhalten geblieben, obwohl ich einen vorgeschlagenen .gitignore für VS verwendet habe, der den Ordner .vs/enthält. Dies beinhaltet Folgendes.

# Visual Studio 2015 cache/options directory
.vs/

Ich fügte dann Folgendes hinzu, um genauer zu sagen, dass dies aus der Liste der zu verfolgenden Dateien ignoriert wird

.vs/SIASAWeb/v15/sqlite3/storage.ide
.vs/**/storage.ide

Die Änderungen im Team Explorer zeigen Folgendes:

<project folder>
  .vs/<project>/v15/sqlite3
    storage.ide

Ich habe versucht, diese Datei zurückzusetzen, diese gibt sich jedoch beim nächsten Commit zurück und ist auch in allen von mir geöffneten Zweigen vorhanden, was dazu führt, dass das einfache Umschalten von einem Zweig auf einen anderen verhindert wird, auch wenn keine Änderungen vorgenommen wurden.

Im Projektmappen-Explorer werden die Dateien "applicationhost.config" und ".suo" als "ignoriert" markiert, "storage.ide" jedoch als "ausstehende Bearbeitung".

Ich habe versucht zu begehen, mit dem GitHub-Server zu synchronisieren, VS zu schließen und wieder zu öffnen und sogar den Computer neu zu starten.

Meine Frage ist, warum diese Datei als modifizierte Datei verwaltet wird, obwohl sie für git ignoriert werden sollte.

27
Roger Layton

Um dies zu beheben, wenn Sie auf die Registerkarte Team Explorer geklickt haben und auf die Schaltfläche Verbindungen verwalten klicken (die grüne oben oben), wird eine Liste der lokalen Git-Repositorys angezeigt. 

Klicken Sie mit der rechten Maustaste auf das Repository, in dem Sie die Speicherung der speicher.ide-Datei nicht mehr verfolgen möchten, und wählen Sie Eingabeaufforderung öffnen.

Sie sollten dann Folgendes eingeben können:

git rm --cached -r .vs

Dadurch werden der Ordner .vs und dessen Inhalt und Unterverzeichnisse in git nicht mehr verfolgt.

40
Liam

Dies bedeutet wahrscheinlich, dass er zu einem bestimmten Zeitpunkt falsch zum Git-Repository hinzugefügt und anschließend ignoriert wurde. git verfolgt weiterhin Änderungen an gitignored-Dateien, wenn sie im Index vorhanden sind ("eingecheckt").

Wenn Sie die Datei überhaupt nicht einchecken möchten, können Sie sie durch Ausführen aus dem Index entfernen

git rm path/to-file --cached

Dadurch bleibt der Inhalt auf der Festplatte erhalten, wenn die Datei überhaupt nicht vorhanden sein soll

git rm path/to-file --force

Beachten Sie, dass dies möglicherweise unerwünscht ist, wenn beispielsweise die Basisprojektdateien als Ausgangspunkt für die Arbeit am Projekt eingecheckt werden sollen. Möglicherweise müssen Sie nur darauf achten, dass nicht diese bestimmte Datei begeht.

17
Anthony Sottile

das Folgende scheint das Problem für mich gelöst zu haben.

# Visual Studio 2015/2017 cache/options directory
*.vs/

es ignoriert alles darin.

7
Noctis

Ich hatte gerade das gleiche Problem. Ich habe das Problem gelöst, indem ich eine neue .gitignore-Datei aus dem Visual Explorer-Team-Explorer erstellt habe (Team Explorer => Einige git-Verzeichnisse => Einstellungen => Repository-Einstellungen => Gitignore-Datei hinzufügen).

Dann habe ich meinen .vs in meinem Projektordner gelöscht und von git bash manuell mit den folgenden Zeilen festgeschrieben:

git add *.*
git commit -m "Removing some files"
git Push Origin master