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?

alex Reid
fonte
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

Matheus Lacerda
fonte
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

Siddarth Kanted
fonte
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.)

Jpsy
fonte
.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.

Bernard Oreva
fonte
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


fonte
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.

Peter Horsbøll Møller
fonte
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

Hamit YILDIRIM
fonte
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
RAM
fonte
0

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

Super Jade
fonte
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.

Jaydeep Shil
fonte
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 ...

Joe Healy
fonte
-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)

RaviTeja V
fonte
-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

Mostafa Hydarzadeh
fonte
-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

Wellington Matos
fonte