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
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:
Un po ‘di aggiunta perché ho dovuto usare risposte diverse per ottenere la soluzione reale (per me).
Questo lo ha fatto per me:
cd .git
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.