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.