git what Desvincular do arquivo com falha. Devo tentar de novo?




what is git tag (23)

Algo errado está acontecendo com um dos arquivos no meu repositório git local. Quando estou tentando mudar o ramo, ele diz:

Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)

O que isso poderia significar?


Eu corri para este problema no Windows, você pode querer executar o git bash como administrador e, em seguida, executar os comandos de desejo, que resolveu o problema para mim.


Isso pode ser útil para alguém; Se todos os itens acima não funcionarem para você, siga estas etapas:

  1. Feche o seu IDE (o meu era o Eclipse, não tenho certeza se ele se aplica ao Intellij e outros) ou qualquer outro aplicativo que possa estar usando o git.

  2. Abra git a partir da linha de comando (no meu caso eu tive git bash) e execute git gc como mencionado por outros.

Isso fez a mágica para mim.


Eu corri para este problema com o git Bash e Eclipse EGit ao mesmo tempo. Solução: feche o Eclipse. Também não faria mal rodar o git gc como @khilo mencionado.


Depois de tentar várias soluções, finalmente, git clean -f me ajudou.

EDIT: Eu acertei o problema novamente algumas vezes - fechando todos os processos dependentes do git parece ajudar (como gitbash, Eclipse IDE, etc.)


Eu tive esse problema com arquivos .tmp na pasta /.git/objects/pack . Eu acho que algo falhou durante um push ou pull, então eu removi esses arquivos temporários e reiniciei o HEAD no meu último commit. Não tenho certeza se isso é aconselhável, mas funcionou para mim. Também git count-objects -v me deu uma lista dos arquivos .tmp que não pertenciam à pasta do pacote.

Ou para suprimir as mensagens do y / n no windows git open cmd.exe e execute:

SETX GIT_ASK_YESNO false

visto aqui: https://twitter.com/petercamfield/status/494805475733807104


Eu tive esse tipo de problema no Windows 7 e acabou por ser devido a algum processo git.exe órfão.

Para resolvê-lo, abra o Gerenciador de Tarefas e mate todos os processos do git.exe .

Como os comandos do git são de curta duração, você normalmente nunca verá nenhum git.exe no Gerenciador de Tarefas. Quando eles estão lá, geralmente significa que algo está errado e você deve matar esses processos.


Eu tenho esse problema no Windows. Fechei meu IDE (Android Studio) e selecionei YES no git shell. Funcionou.


No meu caso, havia uma cópia ou substituição de janela para esse arquivo em particular aberto e, portanto, o erro de desvinculação. Fechei e não há erro de desvinculação


Eu tentei git gc e resolveu o meu problema.


No meu caso (Win8.1, TortoiseGit rodando), era o processo chamado "cache de status do TortoiseSVN" que estava bloqueando o arquivo.

Matar permitiu-me correr "git gc" sem mais problemas. O processo acima é disparado pelo TortoiseGit, então não há necessidade de reiniciá-lo manualmente.


Eu tentei todas as dicas nesta página e nada ajudou. Eu estava fazendo um git fetch e um git reset --hard origin/development me deu o erro de unkink. Não consegui redefinir o último commit.

O que ajudou foi verificar outro ramo e, em seguida, verificar o ramo anterior. Muito estranho, mas resolveu o problema.



Consegui resolver isso abrindo o Powershell como Administrador e a partir daí git checkout <branch_name>


Esta pode ser uma janela separada do gitk rodando para ver um histórico do git.

Basta fechar essa janela para corrigir esse problema.


esta solução here funcionou para mim:

Esta é uma resposta específica do Windows, por isso estou ciente de que não é relevante para você ... Estou apenas incluindo para o benefício de futuros pesquisadores.

No meu caso, foi porque eu estava executando o Git a partir de uma linha de comando não elevada. "Run as Administrator" corrigiu para mim.


Se você estiver desenvolvendo um aplicativo da Web, um motivo comum é esquecer de desligar o servidor. Por exemplo, isso poderia ser um processo simples do Node.js ou, no Windows, o processo do IIS sendo executado de maneira mais discreta como processo em segundo plano.


Eu tive esse problema e resolvi pelo comando: git gc O comando acima remove temp e arquivos desnecessários. (Coletor de lixo.)


No Windows, vi esse erro em um git clone de um repositório (razoavelmente grande). SmartGit e pausei meu software de backup (CrashPlan), e depois disso funcionou. Não tenho certeza qual dos dois fez o truque, mas se estiver em execução, isso pode fazer isso para você também.


Eu tive esse mesmo erro e fechar o aplicativo que tinha o arquivo aberto resolveu isso. Eu pude voltar e apertar "Y"


Depois de executar o comando

git rm -rf foo.bar

Vejo erro

Unlink of file 'foo.bar' failed. Should I try again? (y/n)

Porque outro programa está usando esse arquivo . Por exemplo, quando executo o aplicativo da Web Java no modelo de depuração ou executo o aplicativo da Web no servidor, não consigo excluir o arquivo de log. Desativar o servidor de aplicativos (ou desativar o processo de depuração), tente novamente

git rm -rf foo.bar

Eu vejo o arquivo foi excluído.


Isso pode significar que outro programa está usando o arquivo, o que está impedindo o git de "mover" o arquivo para dentro ou para fora do diretório de trabalho quando você está tentando alterar as ramificações.

Eu tive isso acontecer no Windows Vista, onde o eclipse é o programa "usando" o arquivo. O arquivo pode não estar realmente aberto no eclipse, mas pode ter sido aberto por um processo executado pelo eclipse.

Nesse caso, tente fechar o arquivo em qualquer aplicativo que possa tê-lo usado. Se isso não funcionar, saia completamente de todos os aplicativos que possam ter aberto o arquivo.


Eu tive o mesmo problema ao fazer um git pull e como dito acima, foi por causa de um programa que estava segurando esses arquivos e não estava permitindo um git pull. Fechando o programa ajudou. Normalmente, o IDE (como o Eclipse) de onde os arquivos estão sendo registrados será mantido em segundo plano. Fechar o mesmo e re-executar o git pull resolveu o problema para mim.


Como estou usando gitkraken e prompt de comando, eu corri para o mesmo problema. E então eu corro git gc comando resolveu o meu problema. Então, eu estou feliz e quero compartilhar alguns dos pontos que podem ser úteis.

O que o git gc fará?

git gc removendo objetos inacessíveis que podem ter sido criados a partir de invocações anteriores do git add.

Quando correr git gc ?

Do doc , os usuários são encorajados a executar essa tarefa regularmente em cada repositório para manter uma boa utilização do espaço em disco e um bom desempenho operacional.

Como torná-lo auto-configurável?

Alguns comandos git podem executar automaticamente o git gc; veja a bandeira --auto abaixo para detalhes. Se você sabe o que está fazendo e tudo que você quer é desativar este comportamento permanentemente sem mais considerações, apenas faça

git config --global gc.auto 0




unlink