Domanda

Qualcosa di sbagliato sta succedendo con uno dei file nel mio repository git locale. Quando sto cercando di cambiare il ramo che dice:

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

Cosa potrebbe significare?

È stato utile?

Soluzione

Questo potrebbe significare che un altro programma sta utilizzando il file, che impedisce git da "spostare" il file dentro o fuori della directory di lavoro quando si sta tentando di rami di cambiamento.

Ho avuto questo accada su Windows Vista in cui Eclipse è il programma "utilizzando" il file. Il file non può essere effettivamente aperto in Eclipse, ma potrebbe essere stato aperto da un processo gestito da Eclipse.

In tal caso, provare a chiudere il file in tutte le applicazioni che potrebbero hanno utilizzato. Se questo non funziona, completamente chiudere tutte le applicazioni che possono aver aperto il file.

Altri suggerimenti

Ho avuto questo problema e risolto dal comando: git gc Quanto sopra temperatura comando remove e file non necessari. (Rifiuti collettore.)

qui funzionato per me:

  

Si tratta di una risposta specifica di Windows, quindi sono consapevole del fatto che non è relativo al sistema ... sto solo includendolo a beneficio dei ricercatori futuri.

     

Nel mio caso, era perché stavo correndo Git da una linea non elevati comando. "Esegui come amministratore" fisso per me.

Ho incontrato questo problema mentre si fa un git pull.

ho provato git gc e risolto il mio problema.

Nel mio caso non ci sono processi che toccano il file o la directory. Forse succede se il percorso è molto lungo, perché una restrizione sistema operativo (finestre). Prova ad abilitare la bandiera sostegno LongPath nella configurazione git globale come indicato di seguito:

git config --global core.longpaths true

o cercare di impostare i sì / no Risposta di bandiera, se non è conflittuale per voi

set GIT_ASK_YESNO=false

Se il percorso è troppo lungo, ho non trovato una soluzione di successo.

Questo potrebbe essere utile per qualcuno; Se tutto quanto sopra non ha funzionato per voi, attenersi alla seguente procedura:

  1. Chiudi vostro IDE (la mia era Eclipse, non è sicuro se si applica a Intellij e altri) o qualsiasi altra applicazione che potrebbero utilizzare git.

  2. Apri git dalla riga di comando (nel mio caso ho avuto bash Git) e gestito git gc come detto da altri.

Questo ha fatto la magia per me.

Come sto usando gitkraken e prompt dei comandi, ho incontrato lo stesso problema. E poi ho comando di marcia git gc ha risolto il mio problema. Quindi sono felice e voglio condividere alcuni dei punti che potrebbero essere utili.

Che git gc farà?

git gc di rimuovere gli oggetti non raggiungibili che possono essere stati creati da invocazioni precedenti di git add.

Quando per eseguire git gc?

doc , gli utenti sono incoraggiati a eseguire questa operazione su base regolare all'interno di ogni repository per mantenere una buona utilizzo dello spazio su disco e la buona performance operativa.

Come rendere auto-configurabile?

Alcuni comandi git può essere eseguito automaticamente gc Git; vedere la bandiera --auto sotto per i dettagli. Se si sa cosa si sta facendo e tutto quello che vuoi è quello di disattivare questo comportamento in modo permanente, senza ulteriori considerazioni, basta fare

git config --global gc.auto 0

ho provato git gc e risolto il mio problema.

Nel mio caso (Win8.1, TortoiseGit in esecuzione), è stato il processo chiamato "cache stato TortoiseSVN" che stava chiudendo il file.

uccisione mi ha permesso di eseguire "git gc" senza più problemi. Il processo di cui sopra è licenziato dalla TortoiseGit, quindi non c'è alcuna necessità di riavviare manualmente.

ho avuto questo tipo di problema su Windows 7 e si è rivelato essere dovuto a qualche processo git.exe orfano.

Per risolverlo, aprire Task Manager e uccidere tutti i processi git.exe.

Dal momento che i comandi git sono di breve durata, si dovrebbe di norma non vedere alcuna git.exe in Task Manager. Quando sono lì, di solito significa che qualcosa non va, e si dovrebbe uccidere quei processi.

Ho avuto questo problema in Windows. Ho chiuso il mio IDE (Android Studio) e SI selezionati in guscio git. Ha funzionato.

In Windows 8: Mi sono imbattuto gc git ed ha detto gc git stava già correndo, mi sono imbattuto git gc --force e RAN garbage collector.

ho potuto quindi passare rami e si fondono senza problemi, provo git gc force.

Forse il processo gc non si è fermata con grazia per un motivo o un altro.

Ho avuto questo problema con i file nella cartella .tmp /.git/objects/pack. Credo che qualcosa non era riuscito nel corso di un push o pull, così ho rimosso questi file temporanei e azzerare il HEAD al mio ultimo commettere. Non sono sicuro se questo è consigliato, ma ha funzionato per me. Anche git count-objects -v mi ha dato un elenco dei file .tmp che non apparteneva nella cartella pacchetto.

O per sopprimere i messaggi S / N a finestre git open cmd.exe ed eseguire:

SETX GIT_ASK_YESNO false

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

I affrontato stesso problema mentre si fa 'git pull'. Ho provato manuale di pulizia comando git 'git gc' ed è risolto il mio problema.

sono stato in grado di risolvere questo da apertura PowerShell come amministratore e da lì git checkout <branch_name>

Dopo aver provato diverse soluzioni, infine git clean -f mi ha aiutato.

EDIT: mi ha colpito di nuovo il problema alcune volte - chiudere tutti i processi dipende git sembra aiutare (. Come gitbash, Eclipse IDE, etc)

Come detto sopra, qualcos'altro sta tenendo i file. Cosa è che aspetto programma pretende molto sospetto per noi. Stavo cercando di fare un pull git da console, pur avendo GitKraken aperto. Chiusura GitKraken risolto il problema.

Questo può essere una finestra separata gitk corsa per vedere un po 'di storia git.

Proprio vicino quella finestra per risolvere questo problema.

mi sono imbattuto in questo problema in esecuzione git Bash ed Eclipse EGit allo stesso tempo. Soluzione: chiudere Eclipse. Inoltre non sarebbe male git gc Esegui come @khilo menzionato.

Dopo aver nessuna delle risposte precedenti sembrava funzionare, git fetch -p esecuzione ha fatto il lavoro per me.

https://git-scm.com/docs/git-fetch

mi sono imbattuto in questo problema in Windows, si potrebbe desiderare di eseguire il bash git come amministratore e quindi eseguire i comandi desiderio, che hanno risolto il problema per me.

Dopo il comando di marcia

git rm -rf foo.bar

Vedo errore

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

A causa un altro programma sta utilizzando questo file . Ad esempio, quando si esegue Java applicazione web nel modello di debug o un'applicazione web server di funzionare su, non posso file di log di eliminazione. Spegnere sever applicazione (o disattivare il processo di debug), ri-prova

git rm -rf foo.bar

Vedo file è stato eliminato.

Se si sta sviluppando un'applicazione web, un motivo comune è quello di dimenticare di spegnere il server. Per esempio, questo potrebbe essere un semplice processo di Node.js, o sulle finestre IIS processo in esecuzione più discreto come processo in background.

Ho provato ogni singola punta in questa pagina e niente aiutato. Stavo facendo un git fetch e un git reset --hard origin/development mi ha dato l'errore Raddrizzare. Non ho potuto ripristinare l'ultimo commit.

Che cosa ha contribuito stava controllando un altro ramo e poi controllando il ramo precedente. Molto strano ma ha risolto il problema.

Se la chiusura vostro IDE e l'esecuzione di vari comandi git qui elencate non aiuta, provare manualmente uccidendo tutti i processi Java in esecuzione. Avevo un processo Java probabilmente rimasto da Eclipse che in qualche modo mantenuto un file di configurazione aperta.

In Windows, ha visto questo errore su un git clone di una (abbastanza grande) pronti contro termine. Chiuso SmartGit e in pausa il mio software di backup (CrashPlan), e dopo che ha funzionato. Non sono sicuro quale dei due ha fatto il trucco, ma se l'esecuzione sia, questo potrebbe farlo anche per te.

Ho avuto lo stesso problema, mentre facendo un pull git e come detto in precedenza, è stato a causa di un programma che è stato in mano quei file e non permetteva un pull git. Chiusura del programma ha aiutato. Di solito, l'IDE (come Eclipse) da dove i file sono in fase di check-in terrà in background. La chiusura della stessa e ri-esecuzione di pull git ha risolto il problema per me.

Ho avuto questo stesso errore e chiudendo l'applicazione che ha avuto il file aperto risolto. Sono stato in grado di tornare indietro e premere "Y"

nel mio caso ci fosse una copia o una finestra sostituire per quel particolare aprire il file e quindi l'errore unlink. ho chiuso e non c'è nessun errore eliminare il collegamento

Se stai usando Docker e sistema operativo Windows 10, si consiglia di fermare il contenitore (s) in cui il file potrebbe essere in esecuzione su. Per mostrare gli stati dei contenitori, run

docker ps -a

Per fermarli, è sufficiente eseguire

docker stop <container name or container id>

Questo ha funzionato per me, come io sono in esecuzione i miei file locali utilizzando un file Sh

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top