Errore SVN Git: un processo Git si è arrestato in modo anomalo nel repository in precedenza


97

Stavo solo cercando di eseguire il commit delle modifiche al master Git. Da quello che ho letto, sembra che l'idea sia quella di eliminare il file di blocco. Il messaggio dice:

assicurati che nessun altro processo Git sia in esecuzione e rimuovi il file manualmente

Forse qualcuno sa quale file rimuovere e come rimuovere?


1
Potresti mostrare il messaggio di errore completo incluso il comando che stai eseguendo?
Schwern

Io uso la tartaruga però. puoi cancellare quel file nella tartaruga o solo nel guscio?
Pinchas K

Probabilmente dovrai farlo in una shell o in un file explorer. Potrebbe essere necessario mostrare i file nascosti.
Schwern

L'errore completo è questo: irreversibile: impossibile creare il file "C / etc / .git / index.lock". Se nessun altro processo git è attualmente in esecuzione, questo probabilmente significa che un processo git è andato in crash in precedenza nel repository. Assicurati che nessun altro processo git sia in esecuzione e rimuovi il file manualmente per continuare.
Pinchas K

5
Il messaggio di errore dice tutto. Elimina C:\etc\.git\index.lockcome qualsiasi altro file.
Schwern

Risposte:


194

Il file in questione è probabile .git/index.locke dovrebbe essere sicuro rimuoverlo semplicemente se non sono in esecuzione altri processi git . Assicurati che un comando git-svn non sia sospeso.

PS Il mio approccio abituale per risolvere i problemi di git-svn è di fare una nuova estrazione del repository. Richiede tempo, ma puoi farlo parallelamente al tentativo di risolvere il problema. Fai una piccola gara tra te e Git. Ovviamente, funziona solo se non hai commit non premuti.


1
Questo non lo ha risolto per me. Avevo un altro file di blocco rimanente in .git / svn / refs / remotes / git-svn / index.lock.
Kai Stavginski

74

La rimozione del index.lockfile come dichiarato da Schwern risolverà questo problema.

Puoi rimuoverlo eseguendo rm -f ./.git/index.lock

Il rmcomando viene utilizzato per rimuovere (eliminare) file e directory.

L' -facronimo force che dice al computer di rimuovere i file senza chiedere conferma


9

Per utenti "GUI" come me

Apri l'estensione Git e scegli il repository (se più di uno) Scegli "Impostazioni" dal menu in alto, quindi "Manutenzione Git" e quindi fai clic su "Elimina blocco indice"

Estensioni Git: Impostazioni-> Manutenzione Git-> Elimina blocco indice



2

Può anche riguardare qualsiasi file * .lock in .git /

Controllali e rimuovili. Puoi usare:rm -f ./.git/*.lock



0

La rimozione del file index.lock come dichiarato da Schwern risolverà questo problema.

Puoi rimuoverlo eseguendo rm -f ./.git/index.lock

Il comando rm viene utilizzato per rimuovere (eliminare) file e directory.

-F sta per force che dice al tuo computer di rimuovere i file senza chiedere conferma

ancora non funziona significa aprire git tramite git bash invece di farlo nel terminale

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.