Erreur VS.Git Local Commit DB.lock à chaque validation


200

Nous obtenons cette erreur sur chaque commit local:

Git a échoué avec une erreur fatale. Erreur: ouverte (". Vs / XXXXXX.Dev.Library / v15 / Server / sqlite3 / db.lock"): Autorisation refusée fatale: Impossible de traiter le chemin .vs / XXXXXX.Dev.Library / v15 /Server/sqlite3/db.lock

Il s'agit d'une toute nouvelle installation de VS 2017 utilisant le référentiel git local avant de pouvoir se synchroniser avec Azure DevOps GIT.

Nous pouvons supprimer manuellement le fichier de verrouillage, puis synchroniser correctement, mais cela ralentit sérieusement le processus de développement (devoir fermer , supprimer , ouvrir , valider à chaque fois).

Quelqu'un connaît-il une meilleure solution à long terme pour ce problème?


Si quelqu'un d'autre le rencontre et que l'ajout de ".vs /" à .gitignore ne semble pas fonctionner, la création du fichier dans PowerShell puis la modification avec Notepad ++ ont laissé le fichier avec un type de codage de caractères incorrect. J'avais besoin de l'ouvrir dans VS Code et de l'encoder en UTF8 ordinaire, puis cela a très bien fonctionné
Brian Leishman

Réponses:


419

Ajoutez simplement le dossier .vs au .gitignore fichier .

Voici le modèle pour Visual Studio de la collection de modèles .gitignore de GitHub, à titre d'exemple:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore


Si vous rencontrez des problèmes pour ajouter le fichier .gitignore, procédez comme suit:

  1. Dans la fenêtre de Team Explorer, accédez à Paramètres.

Team Explorer - Paramètres

  1. Accédez ensuite aux paramètres du référentiel.

Paramètres du référentiel

  1. Enfin, cliquez sur Ajouter dans la section Ignorer le fichier.

entrez la description de l'image ici

Terminé. ;)
Ce fichier par défaut inclut déjà le dossier .vs.

entrez la description de l'image ici


3
Oui, c'est le meilleur answare, je ne mets que "2017" dans: # Visual Studio 2015/2017 répertoire cache / options .vs /
harveyt

1
Le problème, git clean -fxdc'est que sa culotte se tord alors .. Je dois quitter VS avant de pouvoir nettoyer. Cela n'a commencé que depuis VS2017 et ne s'est pas produit en 2015
Peter McEvoy

4
Cela a également fonctionné pour moi. Une réponse parfaite à un message d'erreur trompeur.
Stanley Okpala Nwosa

@Matheus, après avoir effectué cette validation par étapes, mais Commit All et Push affichent toujours la même erreur. Que pourrait-on faire pour le faire valider et pousser?
Stanley Okpala Nwosa

Cela a fonctionné pour moi, bien que faire git dans VS semble un peu magique la plupart du temps. J'essaie de sortir un lapin du chapeau mais je prends un chimpanzé à la place.
Roberto

63
  1. Le dossier .vs ne doit pas être validé.
  2. créer un fichier avec le nom ".gitignore" dans le répertoire racine des projets git.
  3. Ajoutez la ligne suivante ".vs /" dans le fichier ".gitignore".
  4. Maintenant, validez votre projet.

entrez la description de l'image ici


Bonjour, malgré ce type de fichier dans le fichier gitignore, je reçois toujours une erreur. pls aider.
user3820266

33

Étape 1:
Ajoutez .vs / à votre fichier .gitignore (comme indiqué dans d'autres réponses).

Étape 2:
Il est important de comprendre que l'étape 1 NE supprimera PAS les fichiers dans .vs / de votre index de branche actuel, s'ils y ont déjà été ajoutés. Désactivez donc votre branche active en émettant:

git rm --cached -r .vs/*

Étape 3: Il est
préférable de répéter immédiatement les étapes 1 et 2 pour toutes les autres branches actives de votre projet.
Sinon, vous rencontrerez facilement les mêmes problèmes lors du passage à une branche non nettoyée.


Conseil de pro: au lieu de l'étape 1, vous souhaiterez peut-être utiliser ce modèle officiel .gitingore pour VisualStudio qui couvre bien plus que le chemin .vs:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
(Mais n'oubliez pas les étapes 2 et 3.)


.vs a été exclu dans mon fichier .gitignore (.vs /) et le problème persiste. Avec quoi d'autre pourrait être le problème?
Stanley Okpala Nwosa

1
A pu résoudre en exécutant git rm --cached -r .vs / *. Merci
Stanley Okpala Nwosa

5

Erreur VS.Git Local Commit DB.lock à chaque validation

Ce problème doit être dû à un fichier .ignore corrompu.

Si votre IDE est Visual Studio, veuillez suivre ces étapes pour résoudre ce problème:

  1. Supprimez le fichier .gitignore de votre dossier de projet
  2. Accédez à Team Explorer
  3. Aller à l'accueil dans Team Explorer
  4. Aller aux paramètres
  5. Sous GIT, cliquez sur Paramètres du référentiel
  6. Sous - Ignorer et fichiers d'attributs - Sous Ignorer le fichier - Cliquez sur Ajouter. Vous devriez voir une notification indiquant que le fichier Ignorer a été créé avec succès
  7. Construisez votre solution. Cela prendra un peu de temps et créera un nouveau fichier .ignore une fois la construction réussie
  8. Vous devriez maintenant pouvoir valider et pousser sans autre problème

NB: Gardez à l'esprit que votre version de Visual Studio peut placer ces options différemment. J'utilise Visual Studio 2019 Community Edition.


A travaillé pour moi. Merci!
Chase Ernst

2

J'ai eu le même problème mais j'ai résolu en créant le fichier .gitignore.

J'ai également trouvé une solution de contournement qui consiste simplement à supprimer le fichier db.lock du dossier .vs, mais vous devez le faire à chaque fois et le faire pendant longtemps en fait une opération ennuyeuse.

La meilleure façon de résoudre ce problème est de créer le fichier .gitignore comme suggéré précédemment, mais je pense que c'est bien de mentionner également cette solution de contournement, juste à des fins de connaissances générales!

Cordialement, Tony Grinton


0

Je n'utilise pas Git directement via Visual Studio mais j'utilise le client Git Desktop.

J'ai toutefois obtenu une erreur similaire, mais je l'ai résolue en fermant Visual Studio avant de valider les modifications sur master.


0

si vous utilisez un IDE comme Visual Studio et qu'il est ouvert pendant que vous envoyez des commandes, fermez IDE et réessayez

git add .

et d'autres commandes, il fonctionnera


0

Pour moi, les étapes ci-dessous ont aidé:

  • Fermer Visual Studio 2019
  • Supprimer le dossier .vs dans le projet
  • Rouvrez le projet, le dossier .vs est automatiquement créé
  • Terminé

0

Mon .gitignorefichier généré automatiquement contient /.vsau lieu de .vs/. La correction de cette faute de frappe a résolu le problème!


0

entrez la description de l'image ici

Pour moi, ces deux fichiers que j'ai supprimés par erreur, après avoir annulé ces deux fichiers et ajouté à mes modifications, j'ai pu valider mes modifications dans git.


0

Avait cela et mon .gitignore était dans mon dossier de projet, mais les principaux dossiers git étaient au niveau de la solution. Le déplacement de .gitignore vers les dossiers de niveau solution / git a fonctionné. Je ne sais toujours pas comment cela est arrivé, mais ...


-1

Essayez de copier le fichier dans votre répertoire manuellement (C: \ Users \ Admin \ AppData \ Local \ Temp \ WebSitePublish \ digisol - 1147805695 \ obj \ Debug \ Package \ PackageTmp.vs \ digisol \ v15 \ Server \ sqlite3)


-1

J'avais fait des solutions ci-dessus, enfin ce travail a résolu mon problème:

  • Fermer le studio visuel

  • Exécutez le git bash dans le dossier du projet

  • Écrire :

    git add.

    git commit -m "[votre commentaire]"

    git push


-2

Pour résoudre ce problème est simple. Tout d'abord, fermez Visual Studio et ouvrez l'Explorateur Windows, accédez au dossier d'emplacement .vs et ouvrez les propriétés du dossier et cochez l'option masquée

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.