Erro Git SVN: um processo Git travou no repositório anteriormente

97

Eu estava apenas tentando enviar alterações para o mestre Git. Pelo que li, parece que a ideia é deletar o arquivo de bloqueio. A mensagem diz:

certifique-se de que nenhum outro processo Git esteja em execução e remova o arquivo manualmente

Talvez alguém saiba qual arquivo remover e como remover?

Pinchas K
fonte
1
Você poderia mostrar a mensagem de erro completa, incluindo o comando que está executando?
Schwern
eu uso a tartaruga embora. você pode apagar esse arquivo na tartaruga ou apenas na casca?
Pinchas K
Você provavelmente terá que fazer isso em um shell ou explorador de arquivos. Você pode ter que mostrar arquivos ocultos.
Schwern
o erro completo é o seguinte: fatal: Não é possível criar o arquivo 'C / etc / .git / index.lock'. Se nenhum outro processo git estiver em execução, isso provavelmente significa que um processo git travou no repositório anteriormente. Certifique-se de que nenhum outro processo git esteja em execução e remova o arquivo manualmente para continuar.
Pinchas K de
5
A mensagem de erro diz tudo. Exclua C:\etc\.git\index.lockcomo qualquer outro arquivo.
Schwern

Respostas:

194

O arquivo em questão é provável .git/index.locke deve ser seguro apenas removê-lo se você não tiver nenhum outro processo git em execução . Certifique-se de que o comando git-svn não esteja travando.

PS Minha abordagem usual para consertar os problemas do git-svn é fazer um novo pull do repositório. É demorado, mas você pode fazer isso em paralelo ao tentar consertar o problema. Faça uma pequena corrida entre você e o git. Claro, isso só funciona se você não tiver commits não enviados.

Schwern
fonte
1
Isso não resolveu para mim. Eu tinha outro arquivo de bloqueio restante em .git / svn / refs / remotes / git-svn / index.lock.
Kai Stavginski
74

Remover o index.lockarquivo como Schwern afirmou resolverá esse problema.

Você pode removê-lo executando rm -f ./.git/index.lock

O rmcomando é usado para remover (deletar) arquivos e diretórios.

O -fsignifica force que diz ao seu computador para remover os arquivos sem solicitar confirmação

Joel
fonte
9

Para usuários "GUI" como eu

Abra a extensão Git e escolha o repositório (se houver mais de um) Escolha "Configurações" no menu superior e depois "Manutenção Git" e clique em "Excluir bloqueio de índice"

Extensões Git: Configurações-> Manutenção Git-> Excluir bloqueio de índice

user3981082
fonte
2

Você já abriu um commit em outra aba do terminal

Andrew Denysyuk
fonte
2

Também pode envolver qualquer arquivo * .lock em .git /

Verifique e remova-os. Você pode usar:rm -f ./.git/*.lock

Artegen
fonte
0

Remover o arquivo index.lock como Schwern afirmou resolverá este problema.

Você pode removê-lo executando rm -f ./.git/index.lock

O comando rm é usado para remover (excluir) arquivos e diretórios.

O -f significa força, que diz ao seu computador para remover os arquivos sem solicitar confirmação

meios ainda não está funcionando abrir o git através do bash git em vez de fazer no terminal de

Sarangan
fonte