Git – fatale: imansible creare ‘/path/my_project/.git/index.lock’: il file esiste

Sto ancora ricevendo questo messaggio di errore, quando provo a spostare la mia struttura del progetto su git repo.

Ho controllato i permessi della mia directory con questo progetto e questi sono impostati su 777. Nel terminale nella directory con my_project ho impostato:

git init

e poi se ci provo

aggiungi git.

o

git commit -m “primo caricamento”

quindi avrò l’errore

 fatal: Unable to create '/path/my_proj/.git/index.lock': File exists. If no other git process is currently running, this probably means a git process crashed in this repository earlier. Make sure no other git process is running and remove the file manually to continue. 

Ho provato anche a creare un nuovo repository e lì a commetterlo, ma sfortunatamente ancora lo stesso messaggio di errore … Sono già un po ‘disperato, cerco di trovare la soluzione per tutto il pomeriggio, ma ancora senza successo …

Qualcuno potrebbe aiutarmi, per favore, qual è la causa del problema?

Milioni di volte, grazie!

Provare

 rm -f ./.git/index.lock 

Nella directory del tuo repository. Il messaggio di errore è piuttosto esplicito su cosa lo causa tipicamente, quindi se non ci sono altri processi git in esecuzione (che è il caso normale), andare avanti ed eliminare quel file.

In Windows, eseguire questa operazione nel prompt dei comandi dalla directory repo:

 cd .git del index.lock 

AGGIORNAMENTO: Ho scoperto che non ho bisogno di fare questa procedura se aspetto un momento dopo che chiudo i file su cui sto lavorando prima di provare a cambiare ramo. Penso che a volte questo problema si verifica a causa di git recuperando con un file system lento. Altri, più sviluppatori ben informati possono intervenire se pensano che sia corretto.

Prova ad uscire da Xcode – dato che si tratta di un client git, devi uscire da Xcode per evitare problemi con git sulla riga di comando.

Avevo lo stesso problema. Provai

 rm -f ./.git/index.lock 

e la console mi ha dato un messaggio di errore. Poi, ci ho provato

 rm -Force ./.git/index.lock 

e quello ha funzionato.

In bocca al lupo! Questo funziona super

Nella mia cartella .git non c’era un file index.lock. Quindi, usando la shell Git Bash, ho eseguito …

 cd .git touch index.lock 

Il comando touch ha creato il file e il problema è andato via.

Succede solo che ho creato il repository git con l’utente root . Ho cancellato il repository git e l’ho creato di nuovo senza sudo e funziona.

Ho anche questo problema, e trovo davvero un problema di authorization. quindi faccio questo:

 sudo chown -R : .git #change group sudo chmod -R 775 .git #change permission 

allora tutto è fantastico, e Gaa è successo.

e poi io uso gp, ottengo un altro errore quasi lo stesso errore

 sudo chown -R "${USER:-$(id -un)}" . #use this can fix the problem 

In Mac OS X, fare ciò nel prompt dei comandi dalla directory repo:

 cd .git rm index.lock 

Se si utilizza uno degli IDE di #intelliJ e si riceve questo messaggio (sto usando #webtorm ), si noti che questo problema può verificarsi a causa del fatto che si nasconde una delle cartelle di progetto (all’interno delle impostazioni) e questo può impedire l’unione di GIT .

Se dopo aver provato:

rm -f ./.git/index.lock

ottieni:

rm: imansible scolbind ‘index.lock’: Autorizzazione negata

Prova a chiudere tutto il software che potrebbe utilizzare Git. Ho aperto Source Tree e Visual Studio e dopo aver chiuso entrambi i comandi hanno funzionato.

In Windows, sono riuscito a eliminare il file di blocco solo dopo aver terminato l’attività per tutti i processi di Git Windows (32 bit) nel Task Manager.

Soluzione (Win 10)

1. Termina l’attività per tutti i processi di Git Windows (32 bit) nel Task Manager

2. Eliminare il file .git / index.lock

Nel mio caso la soluzione era aspettare 5 minuti. Ovviamente la mia precedente operazione era ancora in corso ma non lo sapevo. Stavo usando git tartaruga su Windows.

Usa questo:

 rm -Force ./.git/index.lock 

La soluzione che ha funzionato per me stava chiudendo il testo sublime perché il processo git in esecuzione è stato avviato dall’editor.

La risoluzione di questo problema è copiare i tre file xcode / project nella directory e quindi creare una nuova directory (Ovunque altro) e quindi incollare i tre file / directory.

Inoltre, possiamo solo eliminare il processo git. Ricevo lo stesso problema tramite l’app GUI per git, qualcosa va storto e git rende alcuni lavori infiniti. Il processo di uccisione bloccherà l’applicazione che funziona con git, basta riavviarlo e tutto andrà bene.

Nel caso in cui, per qualsiasi motivo, si stia eseguendo un rebase da una cartella che viene sincronizzata da un servizio cloud (dropbox, unità, onedrive, ecc.), È necessario sospendere o distriggersre la sincronizzazione poiché interferirà con le autorizzazioni durante il rebase .

Per me lo era

 rm -r .git-credentials.lock 

Avevo cambiato il mio permesso di directory quindi sapevo che poteva essere legato al permesso. Nel mio caso ho rimosso gli utenti indesiderati (_www) e poi ho applicato il permesso di lettura / scrittura a tutti, applicando modifiche a tutti i contenuti. Questo è su Mac

Autorizzazione della directory su Mac

Tutti i comandi di rimozione non hanno funzionato per me quello che ho fatto è stato navigare lì usando il percorso fornito in git e quindi cancellarlo manualmente.

NON USARE il plug platformio-atom-ide-terminal Atomo platformio-atom-ide-terminal per fare ciò. UTILIZZA DIRETTAMENTE IL TERMINALE DEL TUO DISTRO.

Continuavo a ricevere questo errore durante il ribasamento / squishing dei commit e non sapevo perché, perché l’avevo fatto prima diverse volte.

Non importa quante volte cancellerei il file index.lock , ogni volta che fallirebbe.

È venuto fuori che stavo usando il plugin del terminale ATOM EDITOR . Una volta che ho usato il terminale fornito con Ubuntu ha funzionato come un fascino.

Penso che ci sia una soluzione migliore della rimozione del file (e chissà cosa succederà dopo rimuovendo / creando un file con sudo):

 git gc 

Hai problemi con .git/index.lock quindi cancellalo usando il comando di sotto.

Comando:

sudo rm -rf .git / index.lock

Se è un sottomodulo, prova questo nella directory del tuo repository:

 rm -f ../.git/modules/submodule-name/index.lock 

cambia nome-sottomodulo al nome del tuo submodulo.

Nel caso qualcuno stia usando git svn, ho avuto lo stesso problema ma non ho potuto rimuovere il file dal momento che non c’era. Dopo aver controllato le autorizzazioni, toccato il file e cancellato, e non ricordo cos’altro, questo ha fatto il trucco:

  • controlla il ramo principale.
  • git svn rebase (sul master)
  • controlla la filiale su cui stavi lavorando
  • git svn rebase

Un po ‘di aggiunta perché ho dovuto usare risposte diverse per ottenere la soluzione reale (per me).

Questo lo ha fatto per me:

  1. Apri la filiale su cui stai lavorando
  2. Terminale aperto (utilizzo il terminale in Git GUI)
  3. Typ in command: cd .git
  4. rm -f index.lock comando: rm -f index.lock

Alcuni potrebbero dover usare -Force invece di -f . Puoi controllare le linee di comando del tuo terminale eseguendo un comando nel tuo terminale qualcosa come: git help .

L’ho provato con molti metodi diverse volte ma questo ha funzionato per me (ho usato il terminale di PyCharm):

 $ cd .git/ $ rm -f index.lock 

Poi ho provato di nuovo a creare un repository git vuoto:

 $ git init $ git add . $ git commit -m "commit msg" 

semplicemente vai su D: /project/androidgc/.git/ questa directory ed elimina index.lock che ha funzionato per me.