web-dev-qa-db-de.com

VS 2017 Git Local Commit DB.lock-Fehler bei jedem Commit

Wir erhalten diesen Fehler bei jedem lokalen Commit:

Git ist mit einem schwerwiegenden Fehler fehlgeschlagen. Fehler: Öffnen (". Vs/XXXXXX.Dev.Library/v15/Server/sqlite3/db.lock"): Berechtigung verweigert. Schwerwiegend: Der Pfad .vs/XXXXXX.Dev.Library/v15 kann nicht verarbeitet werden /Server/sqlite3/db.lock

Dies ist eine brandneue Installation von VS 2017, die das lokale Git-Repository verwendet, bevor sie mit VSTS GIT synchronisiert werden kann.

Wir können die Sperrdatei manuell löschen und dann synchronisieren fein, aber es verlangsamt ernsthaft den Entwicklungsprozess (muss schließen, löschen, - open, commit jedes Mal).

Kennt jemand eine bessere langfristige Lösung für dieses Problem?

153
alex Reid

Fügen Sie einfach den Ordner .vs zur Datei .gitignore hinzu.

Hier ist die Vorlage für Visual Studio aus GitHubs Sammlung von .gitignore-Vorlagen als Beispiel:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore


Wenn Sie Probleme beim Hinzufügen der .gitignore-Datei haben, führen Sie einfach die folgenden Schritte aus:

  1. Wechseln Sie im Fenster des Team Explorers zu Einstellungen.

Team Explorer - Settings

  1. Greifen Sie dann auf die Repository-Einstellungen zu.

Repository Settings

  1. Klicken Sie abschließend im Abschnitt "Datei ignorieren" auf "Hinzufügen".

enter image description here

Getan. ;)
Diese Standarddatei enthält bereits den Ordner .vs.

enter image description here

302
Matheus Lacerda
  1. Der Ordner .vs sollte nicht festgeschrieben werden.
  2. erstellen Sie eine Datei mit dem Namen ".gitignore" im Projekt-Git-Stammverzeichnis.
  3. Fügen Sie die folgende Zeile ".vs /" in die Datei ".gitignore" ein.
  4. Übernehmen Sie nun Ihr Projekt.

enter image description here

54
Siddarth Kanted

Schritt 1:
Fügen Sie Ihrer .gitignore-Datei .vs/hinzu (wie in anderen Antworten angegeben).

Schritt 2:
Es ist wichtig zu verstehen, dass Schritt 1 KEINE Dateien innerhalb von .vs/aus Ihrem aktuellen Branchenindex entfernt, wenn sie bereits hinzugefügt wurden. So löschen Sie Ihre aktive Filiale, indem Sie Folgendes eingeben:

git rm --cached -r .vs/*

Schritt 3:
Wiederholen Sie die Schritte 1 und 2 am besten sofort für alle anderen aktiven Zweige Ihres Projekts.
Andernfalls treten beim Wechsel zu einem ungereinigten Zweig leicht wieder dieselben Probleme auf.

Pro-Tipp:
Anstelle von Schritt 1 möchten Sie möglicherweise diese offizielle .gitingore-Vorlage für VisualStudio verwenden, die weit mehr als nur den .vs-Pfad abdeckt:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
(Vergessen Sie jedoch die Schritte 2 und 3 nicht.)

24
Jpsy

Ich hatte das gleiche Problem, habe es jedoch behoben, indem ich die .gitignore-Datei erstellt habe.

Ich habe auch eine Problemumgehung gefunden, die einfach darin besteht, die Datei "db.lock" aus dem Ordner ".vs" zu entfernen, aber Sie müssen dies jedes Mal tun, und dies über einen längeren Zeitraum zu tun, macht dies zu einem nervigen Vorgang.

Der beste Weg, um dieses Problem zu lösen, besteht darin, die .gitignore-Datei wie zuvor vorgeschlagen zu erstellen, aber ich denke, dass es gut ist, auch diese Problemumgehung zu erwähnen, nur aus Gründen des Allgemeinwissens!

Grüße, Tony Grinton

2
user9557542

Ich verwende Git nicht direkt über Visual Studio, sondern über den Git Desktop-Client.

Ich habe jedoch einen ähnlichen Fehler erhalten, ihn jedoch behoben, indem ich Visual Studio vor dem Festschreiben von Änderungen an master geschlossen habe.

wenn Sie ein IDE ähnliches visuelles Studio verwenden und es geöffnet ist, während Sie Befehle senden, schließen Sie IDE und versuchen Sie es erneut

git add .

und andere Befehle, wird es trainieren

0
Hamit YILDIRIM