VS 2017 Git Local Commit DB.lock erro em cada confirmação


200

Estamos recebendo este erro em cada confirmação local:

O Git falhou com um erro fatal. /Server/sqlite3/db.lock

Esta é uma nova instalação do VS 2017 usando o repositório git local antes que ele possa sincronizar com o Azure DevOps GIT.

Podemos excluir manualmente o arquivo de bloqueio e sincronizar bem, mas isso desacelera seriamente o processo de desenvolvimento (é necessário fechar , excluir , abrir , confirmar sempre).

Alguém conhece uma correção melhor a longo prazo para esse problema?


Se alguém passar por isso e adicionar ".vs /" ao .gitignore não parece funcionar, criar o arquivo no PowerShell e depois editar com o Notepad ++ deixará o arquivo com o tipo errado de codificação de caracteres. Eu precisava abri-lo no Código VS e codificá-lo como UTF8 simples e, em seguida, funcionou muito bem
— Brian Leishman

Respostas:


418

Basta adicionar a pasta .vs ao arquivo .gitignore .

Aqui está o modelo para o Visual Studio da coleção de modelos .gitignore do GitHub, como um exemplo:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore


Se você tiver algum problema ao adicionar o arquivo .gitignore, siga estas etapas:

  1. Na janela do Team Explorer, vá para Configurações.

Team Explorer - Configurações

  1. Em seguida, acesse Configurações do Repositório.

Configurações do Repositório

  1. Por fim, clique em Adicionar na seção Ignorar arquivo.

insira a descrição da imagem aqui

Feito. ;)
Esse arquivo padrão já inclui a pasta .vs.

insira a descrição da imagem aqui


3
Sim, essa é a melhor answare, eu só colocar "2017" em: # o Visual Studio 2015/2017 .VS cache / diretório opções /
— harveyt

1
O problema é git clean -fxdque as calcinhas estão viradas, então .. Preciso sair do VS antes de poder limpar. Isso só começou desde VS2017 e não aconteceu em 2015
— Peter McEvoy

4
Isso funcionou para mim também. A resposta perfeita para uma mensagem de erro enganosa.
— Stanley Okpala Nwosa

@ Matheus, depois de fazer esse commit, o estágio funcionou, mas o commit de todos e o push ainda mostram o mesmo erro. O que poderia ser feito para conseguir cometer e pressionar?
— Stanley Okpala Nwosa

Funcionou para mim, embora fazer git no VS pareça um pouco mágico na maioria das vezes. Tento tirar um coelho do chapéu, mas pego um chimpanzé.
— Roberto

63
  1. A pasta .vs não deve ser confirmada.
  2. crie um arquivo com o nome ".gitignore" dentro do diretório raiz do projeto git.
  3. Adicione a seguinte linha ".vs /" no arquivo ".gitignore".
  4. Agora comprometa seu projeto.

insira a descrição da imagem aqui


Olá, apesar deste tipo de arquivo estar no arquivo gitignore, ainda estou recebendo erro. pls ajuda.
— user3820266

33

Etapa 1:
adicione .vs / ao seu arquivo .gitignore (como dito em outras respostas).

Etapa 2:
é importante entender que a etapa 1 NÃO removerá os arquivos dentro de .vs / do seu índice de ramificação atual, se eles já tiverem sido adicionados a ele. Portanto, limpe sua ramificação ativa emitindo:

git rm --cached -r .vs/*

Etapa 3:
melhor repetir imediatamente as etapas 1 e 2 para todas as outras ramificações ativas do seu projeto.
Caso contrário, você enfrentará facilmente os mesmos problemas novamente ao mudar para um ramo não limpo.

Dica profissional: em
vez da etapa 1, convém usar este modelo .gitingore oficial do VisualStudio, que abrange muito mais do que apenas o caminho .vs:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
(Mas ainda não esqueça as etapas 2 e 3.)


.vs foi excluído no meu arquivo .gitignore (.vs /) e o problema ainda persiste. O que mais poderia ser o problema?
— Stanley Okpala Nwosa

1
Foi capaz de resolver executando git rm --cached -r .vs / *. Obrigado
— Stanley Okpala Nwosa

5

VS 2017 Git Local Commit DB.lock erro em cada confirmação

Esse problema deve ter sido causado por um arquivo .ignore corrompido.

Se o seu IDE for Visual Studio, siga estas etapas para resolver esse problema:

  1. Exclua o arquivo .gitignore da pasta do projeto
  2. Vá para o Team Explorer
  3. Vá para a Página inicial no Team Explorer
  4. Vá para as configurações
  5. Em GIT, clique em Configurações do Repositório
  6. Em - Ignorar e arquivos de atributos - Em Ignorar arquivo - clique em Adicionar. Você deve receber uma notificação de que o arquivo Ignorar foi criado com sucesso
  7. Crie sua solução. Demorará um pouco e criará um novo arquivo .ignore assim que a compilação for bem-sucedida
  8. Agora você deve conseguir confirmar e enviar sem mais problemas

OBS: Lembre-se de que sua versão do visual studio pode diferenciar essas opções. Estou usando o Visual Studio 2019 Community Edition.


Trabalhou para mim. Obrigado!
— Chase Ernst

2

Eu tive o mesmo problema, mas resolvi criando o arquivo .gitignore.

Eu também encontrei uma solução alternativa que simplesmente consiste em remover o arquivo db.lock da pasta .vs, mas você precisa fazer isso todas as vezes e fazer isso por muito tempo faz desta uma operação irritante.

A melhor maneira de resolver esse problema é criar o arquivo .gitignore conforme sugerido anteriormente, mas acho que é bom mencionar também essa solução alternativa, apenas para fins de conhecimento geral!

Atenciosamente, Tony Grinton


0

Não estou usando o Git diretamente no Visual Studio, mas usando o cliente do Git Desktop.

No entanto, recebi um erro semelhante, mas o resolvi fechando o Visual Studio antes de confirmar as alterações no mestre.


0

se você estiver usando um IDE como o visual studio e ele estiver aberto enquanto você envia comandos, feche o IDE e tente novamente

git add .

e outros comandos, ele irá exercitar


0

Para mim, os passos abaixo ajudaram:

  • Fechar Visual Studio 2019
  • Excluir pasta .vs no projeto
  • Reabra o projeto, a pasta .vs é criada automaticamente
  • Feito

0

Meu .gitignorearquivo gerado automaticamente contido em /.vsvez de .vs/. A correção desse erro de digitação corrigiu o problema!


0

insira a descrição da imagem aqui

Para mim, esses dois arquivos que eu apaguei por engano, depois de desfazer esses dois arquivos e ser adicionado às minhas alterações, consegui confirmar minhas alterações no git.


0

Tinha isso e meu .gitignore estava dentro da minha pasta do projeto, mas as principais pastas git estavam no nível da solução. Mover .gitignore para as pastas no nível da solução / git funcionou. Ainda não sei como chegou lá, mas ...


-1

Tente copiar o arquivo manualmente para o diretório (C: \ Usuários \ Admin \ AppData \ Local \ Temp \ WebSitePublish \ digisol - 1147805695 \ obj \ Debug \ Package \ PackageTmp.vs \ digisol \ v15 \ Server \ sqlite3)


-1

Eu tinha feito soluções acima, finalmente, este trabalho resolveu meu problema:

  • Feche o estúdio visual

  • Execute o git bash na pasta do projeto

  • Escrever :

    git add.

    git commit -m "[seu comentário]"

    empurrão


-2

Resolver esse problema é simples. Primeiro, feche o Visual Studio e abra o Windows Explorer, vá para a pasta local .vs e abra as propriedades da pasta e verifique a opção oculta

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.