Como resolver fatal: Unable to create ‘/my/project/.git/index.lock’: File exists em git
Neste artigo você vai aprender a como resolver fatal: Unable to create ‘/my/project/.git/index.lock’: File exists em git

Fala programador(a), beleza? Bora aprender a resolver o erro de index.lock em git!
Este erro acontece devido a algum comando do git que não teve sucesso em sua execução
Talvez você fechou o terminal no meio do processo de algum comando ou algo relacionado a isso
Geralmente é um problema que não nos trás danos, o projeto não é prejudicado
O que precisamos fazer para resolver o erro de index.lock então?
Simples, basta remover este arquivo!
O lock é como se fosse uma trava, impedindo futuros comandos de git no repositório
Na pasta do projeto digite o comando:
rm -f ./.git/index.lock
Ele realiza a remoção do index.lock que fica na pasta oculta .git, esta pasta é onde todo o histórico do versionamento do projeto está armazenado, e também algumas configurações
Então tome cuidado para não excluir a pasta toda 🙂
Após a remoção do arquivo o problema deve ter sido resolvido, teste o comando que você estava tentando executar e veja o resultado
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Quer aprender mais sobre git? Veja este curso gratuito:
Conclusão
Neste artigo você aprendeu a como resolver fatal: Unable to create ‘/my/project/.git/index.lock’: File exists em git
Ou como é mais conhecido: o erro do index.lock
Somente precisamos remover o arquivo e tudo é resolvido!
Note que se você excluir a pasta .git estará perdendo todo o versionamento do projeto, isso é bem perigoso
Então tome cuidado no comando que está executando, revise duas vezes antes de dar o enter, beleza? 🙂
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias! Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias. O link acima contém um cupom de desconto para os cursos!
Traduzindo a mensagem de erro:
Antes de sair apagando, vale ler o que o git está te falando
O "Unable to create" é o git avisando que ele TENTOU criar o arquivo de trava e não conseguiu
E o motivo vem logo em seguida: "File exists", ou seja, o arquivo já está lá
O caminho que aparece no meio da mensagem é o endereço exato do arquivo dentro do seu projeto
Então a mensagem não é um bug, é o git sendo educado e dizendo "tem uma trava aqui e eu não vou passar por cima dela"
Quem apaga a trava é você, de propósito, sabendo o que está fazendo 🙂
Antes de apagar, confere uma coisa:
Tem um caso em que o index.lock está ali por um bom motivo: quando existe um comando de git rodando NESTE momento no repositório
Pode ser um clone grande, um rebase no meio do caminho, um merge pesado
Se tu apagar a trava com o git trabalhando, os dois vão escrever no mesmo lugar ao mesmo tempo, e aí sim tu arruma problema de verdade
A regra é simples: só remove o arquivo se tiver certeza que nenhum comando de git está em execução
Fechou o terminal no susto? Deu ctrl+c no meio? Aí pode remover tranquilo, é resquício mesmo
Na dúvida, espera alguns segundos e tenta o comando de novo antes de apagar qualquer coisa
E se você está no Windows?
O comando acima é de terminal Unix, então ele funciona liso no Linux, no macOS e também no Git Bash, que já vem junto quando tu instala o git no Windows
Se tu estiver no PowerShell, não estranha se ele reclamar: o "rm" até existe por lá como atalho, mas o "-f" não é a mesma flag que ele espera
Duas saídas sem dor de cabeça:
Abre o Git Bash na pasta do projeto e roda o mesmo comando do post
Ou vai pelo Explorador de Arquivos, ativa a exibição de itens ocultos, entra na pasta .git e apaga só o arquivo index.lock
De novo: SÓ o arquivo, nunca a pasta 🙂
Apaguei e o erro voltou na hora, e agora?
Se o index.lock reaparece toda vez, o recado é outro: tem alguém segurando teu repositório
E esse alguém quase sempre é um programa que roda git por baixo dos panos, sem tu pedir
Os suspeitos de sempre: o editor de código com integração de git ligada, um cliente gráfico aberto em segundo plano, uma extensão que fica sincronizando sozinha, um script rodando em loop
Aqui o caminho não é apagar de novo, é achar quem está travando
Fecha o editor, fecha o cliente gráfico, tenta o comando no terminal limpo
Se funcionar com tudo fechado, tu achou o culpado e sabe quem precisa de um ajuste 😀
Por que esse erro ficou tão mais comum agora:
Um detalhe que mudou bastante desde que esse erro começou a incomodar a galera
Antes, quem mexia no repositório era uma pessoa, num terminal só
Hoje tem editor commitando, tem cliente gráfico sincronizando e tem agente de IA rodando comando no terminal enquanto tu escreve código na outra janela
Ou seja: mais coisas disputando o mesmo repositório ao mesmo tempo
E o index.lock existe justamente pra impedir que duas dessas coisas escrevam juntas e baguncem teu histórico
Então, encarando por esse lado, a trava é tua amiga
Se ela aparece com frequência no teu dia a dia, o problema raramente é o git: é ter dois processos brigando pela mesma pasta
Um resumo rápido pra fixar:
O caminho que aparece na mensagem de erro é o arquivo que tu precisa remover, nada além dele
Se nenhum comando de git estiver rodando, pode apagar sem medo
Se o arquivo voltar sozinho, procura o programa que está mexendo no repositório em segundo plano
E a regra de ouro que nunca muda: a pasta .git fica de pé, sempre
É ela que guarda todo o teu versionamento, então os rm -rf da vida ficam bem longe dali, beleza?
Leia também
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares

Como saber em qual branch estou no Git? (2 comandos simples)
Neste artigo você vai aprender a como verificar o branch atual em git, ou seja, o branch em que você está trabalhando no momento Fala […]

Como remover remote origin de repositório em git
Neste artigo você vai aprender a como remover remote origin de repositório em git, com apenas um comando! Fala programador(a), beleza? Bora aprender mais sobre […]

Como desfazer um git add? Remover arquivo da staging
Neste artigo você vai aprender a como desfazer um git add, ou seja, remover o arquivo da staging, onde ele fica após passar pelo comando […]
