2012-08-07 13 views
14

Mam stały problem z jednym z moich repozytoriów git. Wciąż otrzymuję następujący błąd:GIT: /.git/index.lock ": Plik istnieje

fatal: Unable to create 'v:/path/to/files/.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. 

próbowałem: rm -f ./.git/index.lock jak na innym wątku na stackoverflow, ale pojawia się ten błąd za każdym razem: rm: nie można odłączyć `./.git/index.lock ': Odmowa uprawnień

Kiedy zamykam aptana (używam git w terminalu), nie mogę usunąć pliku.

Jakieś pomysły, jak sobie z tym poradzić?

Inną rzeczą, aby pamiętać, jest to git repo jest bardzo powolny, kiedy ja od czasu do czasu dostać się do popełnienia w niej (to pozwala mi co 10 stara lub tak)

Dzięki

+0

To działa na mnie http://stackoverflow.com/questions/17916339/error-in-deleting-addind-file-from-appharbor-using-git-unable-to-create-f-git – Shailesh

+0

Czy masz dostęp użytkownika root lub superuser do systemu, którego używasz? Innymi słowy, czy jesteś właścicielem komputera, czy też jesteś na publicznym komputerze, na przykład w kampusie laboratoryjnym? –

+0

te polecenia są przeznaczone dla systemów unix i osx. możesz przejść do pliku index.lock w eksploratorze i go usunąć. jeśli nie widzisz folderu .git. musisz najpierw ustawić pokazywanie ukrytych plików w menedżerze folderów plików – Jinxi

Odpowiedz

3

Problem skończył się Aptana, za każdym razem wpadłem to spowodowałoby to ten błąd, gdy próbowałem popełnić w git.

Przestałem używać aptana studio i nie mam już tego problemu.

+7

nieużywanie nie jest rozwiązaniem dla mnie ... sry – Jinxi

24

Sudo polecenie:

sudo rm -f ./.git/index.lock 

Oba błędy sugerują, że index.lock jest własnością innego użytkownika. Uruchom rm jako superużytkownik, a następnie spróbuj ponownie wykonać polecenia. Można również rozważyć ustawienie core.sharedRepository do true jeśli to jest w rzeczywistości, sprawa z repo:

core.sharedRepository

When group (or true), the repository is made shareable between several users in a group (making sure all the files and objects are group-writable).

When all (or world or everybody), the repository will be readable by all users, additionally to being group-shareable. When umask (or false), git will use permissions reported by umask(2). When 0xxx, where 0xxx is an octal number, files in the repository will have this mode value. 0xxx will override user's umask value (whereas the other options will only override requested parts of the user's umask value). Examples: 0660 will make the repo read/write-able for the owner and group, but inaccessible to others (equivalent to group unless umask is e.g. 0022). 0640 is a repository that is group-readable but not group-writable.

See git-init(1).

False by default.

+0

Dzięki, próbowałem sudo, dostałem to: sh: sudo: polecenie nie znaleziono. Również nie wiem, jak się zalogować jako superużytkownik, dopiero zacząłem używać gita w tym tygodniu. – sluggerdog

+0

Nadal mam ogromne problemy z tym, każdego dnia, kiedy próbuję uzyskać błąd index.lock. Nadal dostaję polecenie sh: sudo: nie znaleziono polecenia i nie można ręcznie usunąć pliku, zawsze odmawia zgody. Jakieś pomysły? Dzięki! – sluggerdog

+1

@sluggerdog Jakim jesteś systemem operacyjnym? Jak również uruchamiasz polecenia git? – Christopher

0

Ten błąd występuje również w przypadku korzystania z Aptanta Git i innych klientów Git, np. F.e. TortoiseGit. Jest więc prawdopodobne, że to inne oprogramowanie Git zablokowało twój Git, czyniąc go niedostępnym dla Aptany.

0

Wykonaj:

rm index.lock

następnie

git zresetować

+1

Jeśli OP nie może usunąć pliku, w jaki sposób 'rm' pomoże? Jeśli po prostu sugerujesz, że OP nie używa flagi '-f', wyjaśnij dlaczego uważasz, że to rozwiązanie. –

-4

Jeśli stoją te problemy w oknach poniżej kroki pomóc .. Przejść do poszczególnych path ie, v:/path/to/files/i włącza wyświetlanie ukrytych plików, folderów i sterowników. Następnie bezpośrednio usuń plik index.lock wewnątrz folderu git (Który będzie ukryty wcześniej)

+1

Pytanie brzmi, że nie może usunąć pliku, a nie, że nie może tego zrobić. –

-4

wyszukaj index.lock w lokalnym repozytorium i usuń ten plik.

+3

OP mówi, że nie może go usunąć. Sugerujesz więc, że może powinien spróbować go usunąć? Niepomocne. –

0

Może to być stara odpowiedź, ale mam nadzieję, że będzie bardziej przydatna dla tych, którzy potrzebują tego rozwiązania.

na Linux/Unix/gitbash/Cygwin, spróbuj

rm -f .git/index.lock 

W wierszu polecenia systemu Windows, spróbuj:

del .git\index.lock 

nadzieję, że pomoże, znalazłem to rozwiązanie tutaj: fatal: Unable to create 'project_path/.git/index.lock': File exists.

+0

'rm' nie będzie działać, ponieważ nie ma uprawnień - ponieważ jest własnością kogoś innego - chyba że" sudo "polecenie. * "Próbowałem: rm -f ./.git/index.lock jak w innym wątku na stackoverflow, ale dostaję ten błąd za każdym razem: rm: nie można odłączyć' ./.git/index.lock ': Odmowa uprawnień "* –

+0

sudo jest potrzebny tylko projekt jest własnością jakiegoś innego użytkownika inaczej nie będzie. Więc nie jest to część obowiązkowa. – krishnaisdinesh

+0

Jest własnością kogoś innego, konkretnie używanego przez Aptana. –

0

W folderze git w wersji 2.11.0, .git może nie być dołączony plik index.lock. Znalazłem w folderze .git/refs/heads/ zawiera plik .lock i usunięcie go za pomocą polecenia rm działa.

Pamiętaj również o zabiciu procesu, który może używać repozytorium git przy użyciu ps -aef | grep git i kill -9.