web-dev-qa-db-fra.com

VS 2017 Git Local Commit Erreur DB.lock sur chaque commit

Nous obtenons cette erreur sur chaque commit local:

Git a échoué avec une erreur fatale.error: open (". Vs/XXXXXX.Dev.Library/v15/Serveur/sqlite3/db.lock"): Autorisation refusée: 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 qu'il ne puisse être synchronisé avec VSTS GIT.

Nous pouvons supprimer manuellement le fichier de verrouillage, puis sync très bien, mais cela ralentit sérieusement le processus de développement (devoir fermer fermer, supprimer, - open, commit à chaque fois).

Est-ce que quelqu'un connaît une meilleure solution à long terme pour ce problème?

153
alex Reid

Ajoutez simplement le dossier .vs au fichier . Gitignore .

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 ne parvenez pas à ajouter le fichier .gitignore, procédez comme suit:

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

Team Explorer - Settings

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

Repository Settings

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

enter image description here

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

enter image description here

302
Matheus Lacerda
  1. Le dossier .vs ne doit pas être validé.
  2. créez un fichier avec le nom ".gitignore" dans le répertoire racine du projet.
  3. Ajoutez la ligne suivante ".vs /" dans le fichier ".gitignore".
  4. Maintenant, engagez votre projet.

enter image description here

54
Siddarth Kanted

É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 de fichiers contenus dans .vs/de votre index de branche actuel, s'ils y ont déjà été ajoutés. Donc, effacez 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.

Astuce:
Au lieu de l’étape 1, vous voudrez 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.)

24
Jpsy

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 consistant simplement à supprimer le fichier db.lock du dossier .vs, mais vous devez le faire à chaque fois et le faire pendant longtemps rend l'opération fastidieuse.

Le meilleur moyen de résoudre ce problème est de créer le fichier .gitignore comme suggéré précédemment, mais je pense qu’il est bon de mentionner également cette solution de contournement, pour des raisons de connaissance générale!

Cordialement, Tony Grinton

2
user9557542

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

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

si vous utilisez un IDE comme Visual Studio et qu'il est ouvert pendant l'envoi des commandes, fermez IDE et essayez à nouveau

git add .

et d'autres commandes, il va s'entraîner

0
Hamit YILDIRIM