2012-05-05 4 views
33

Po uruchomieniu git GC Ciągle widzę ten błąd:Co mogę/powinienem zrobić z tym błędem git gc? (Rm: nie można odłączyć pakiet Permission denied)

rm: cannot unlink 'pack-30b1ff2[reset of hash].pack': Permission denied 

Co może/powinna zrobić o tym błędzie?

Aktualizacja

Niestety, mam dostarczyły więcej informacji. Tak, próbowałem ponownego uruchomienia komputera. W rzeczywistości, ponowne uruchomienie naprawiło problemy z gc dla mnie wcześniej.

Zauważyłem tylko ten problem, ponieważ kiedy otwieram Git Gui, to monituje mnie, a następnie kompresuje bazę danych. W końcu zauważyłem, że po kilkukrotnym otwarciu Git Gui, które ciągle mi podpowiadało, mimo że kliknąłem "Tak", powróciło "udane".

Tak więc próbowałem go uruchomić z ustawieniami Git EXT - konserwacja Git - Kompresuj komendę bazy danych git. To polecenie powiedziało mi, że wystąpił błąd (czerwone światło w Git EXT, podczas gdy w Git Gui było zielone światło).

Opisany powyżej błąd wynikał z uruchomienia git gc prosto z git bash.

Czy powinienem zaplanować skanowanie dysku? Czy przyczyną mogą być uszkodzone sektory? Miałem nadzieję, że będzie to szybka odpowiedź :(

+1

Sprawdź uprawnienia, a jeśli wyglądają zdrowo, wykonaj kopię zapasową i sprawdź system plików. – Mat

+0

To jest w systemie Windows 7. Czy mogę sprawdzić uprawnienia w folderze .git? Czy git działa jako moje konto użytkownika? Jestem administratorem i ta grupa ma pełną kontrolę w folderze .git. – danludwig

+0

Przepraszam, założyłem Linux. Nigdy nie rozumiem dokładnych szczegółów uprawnień Windows. Ale nie powinieneś używać najpierw konta administratora. – Mat

Odpowiedz

29

„Permission denied” na Windows jest często spowodowane przez blokadę z uruchomionego procesu. Jest prawdopodobne, że nie jest zablokowana wątek Git EXT otwarty plik pakietu.

Spróbuj zrobić git gc w trybie awaryjnym.

Inną opcją jest sklonować repozytorium w nowym miejscu i usunąć starą.

+0

Dzięki, miałem nadzieję, że nie będę musiał się wycofywać, więc mam nadzieję, że tryb bezpieczny zadziała. Spróbuje przy następnym uruchomieniu. – danludwig

+1

Nie potrzebował nawet trybu awaryjnego. Najpierw uruchomiłem git gc po normalnym rozruchu i nie było żadnego błędu odmowy uprawnień. Dzięki. – danludwig

+0

@danludwig pierwsza rzecz po normalnym boot'u sprawdziła się również dla mnie! Dzięki za podpowiedź! – cregox

18

w moim przypadku było TortoiseGit. aby rozwiązać ten problem, ja otwarty Ustawienia TortoiseGit -> Nakładki ikon i ustaw pamięć podręczną stanu na "Brak" Teraz procedura ss TGitCache zakończył się, więc wszystkie obiekty są "wolne" do przetworzenia przez git gc.

enter image description here

+0

Ah, co za głupi żółw ... – Lukman

1

Trzeba zamknąć konsolę gdzie występuje polecenie, które zablokowane polecenia. Może to być VI, który blokuje plik lub dowolne polecenie, które zostało zabite. Najprostszym rozwiązaniem jest zamknięcie wszystkiego i ponowne otwarcie. Powinieneś być w stanie wykonać polecenie bez problemu.