Próbuję nauczyć się korzystać z Git i stworzyłem mały projekt z plikiem HTML, CSS i JavaScript. Zrobiłem gałąź z mojego zasadniczo pustego projektu, a następnie wprowadziłem kilka zmian w kodzie. Próbowałem wprowadzić zmiany, ale pojawia się następujący komunikat o błędzie:
Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
Owszem, miałem problemy z próbowaniem wcześniejszego zatwierdzenia mojego pustego projektu i po prostu rzuciłem git bash, ponieważ nie wiedziałem, jak wydostać się z miejsca, w którym się dostałem.
Czy jest jakiś sposób, aby to naprawić, czy powinienem po prostu założyć nowe repozytorium?
Odpowiedzi:
Spróbuj usunąć
index.lock
plik ze swojego.git
katalogu.rm -f .git/index.lock
Takie problemy zwykle występują, gdy wykonujesz dwa
git
polecenia jednocześnie; może jeden z wiersza poleceń i jeden z IDE.źródło
rm -f .git/index.lock
Podfile.lock
.index.lock
tam pliku, sprawdź, czyHEAD.lock
· Usunięcie go rozwiązało problem.Użyj poniższej komendy w katalogu głównym aplikacji. Spowoduje to usunięcie pliku index.lock i zwolnienie aktywnej blokady.
źródło
Usunięcie mojej wiadomości zatwierdzenia działało dla mnie.
Potem powiedział.
Zauważ, że nazwa twojego oddziału może być inna niż moja. Możesz usunąć ten plik blokady, wykonując;
Mam nadzieję, że to komuś pomoże.
źródło
Ok, skończyło się na tym, że uruchomiłem go, uruchamiając „$ git rm .git / index.lock” ... To dziwne, ponieważ robiłem to kilka razy wcześniej, ale bez skutku, ale hej komputery, prawda?
źródło
git rm
tutaj,rm
wystarczy.index.lock
nie jest plikiem przeznaczonym do śledzenia przez git.Zdarzyło mi się to i chociaż sourcetree ciągle mi mówił, że plik blokady istnieje, nie było takiego pliku do usunięcia. Właśnie sprawdziłem inną gałąź, a następnie wróciłem do oryginalnej gałęzi i zauważyłem, że ta zmiana rozwiązała problem.
źródło
Jest podobny do powyższych metod, ale w moim przypadku miałem kilka z nich
i był w stanie usunąć wszystkie naraz w ten sposób
źródło
Dla mnie problem był prostszy, to było w drzewie źródłowym, więc nie jestem pewien, ile to będzie miało zastosowanie do zwykłych rozwiązań, ale przypadkowo wybrałem gałąź master próbującą dokonać zatwierdzenia, a nie moich niezatwierdzonych zmian.
Zwykle nie byłby to problem, ale wcześniej zapobiegawczo wprowadziłem komunikat zatwierdzenia, aby móc śledzić, co robiłem dla tego małego sprintu, na którym byłem.
Zasadniczo rozpocząłem zatwierdzenie w nieprzydzielonym oddziale i przypadkowo próbowałem uruchomić kolejne zatwierdzenie w mojej gałęzi master.
źródło
Jeśli używasz CocoaPods i w pewnym momencie spartaczyłeś aktualizację lub instalację (ręcznie ją zabiłeś lub coś takiego), spróbuj
1) Usuwanie
index.lock
pliku (w.git/index.lock
)2) Usuń
Podfile.lock
plik.3) Zrób nowy
pod update
4) Spróbuj wydać polecenie git, które nie powiodło się (w moim przypadku było to
git add .
)źródło
Jeśli jesteś użytkownikiem systemu Windows, wystąpi błąd
'rm' is not recognized as an internal or external command
. To dlatego, że rm jest poleceniem Linuksa. Tak więc w systemie Windows możesz użyć poniżej, aby usunąćindex.lock
plik z.git
folderuźródło
Może się zdarzyć, że twoja gałąź jest uszkodzona, utwórz nową gałąź git branch #check branch. Stworzyłem nowy oddział i działam.
źródło
Chociaż istnieje alternatywa powyżej, ale to nie rozwiązało mojej. W moim przypadku usuwam wtyczkę „git” w ./zshrc i ponownie uruchamiam komputer, po czym problem zniknął. Myślę, że wtyczka zsh spowodowała konflikt z oryginalnym poleceniem git.
źródło
Wystąpił ten błąd podczas
pod update
. Rozwiązałem go usuwającindex.lock
plik wcocoapods
„s.git
katalogu.To może komuś pomóc.
źródło
użyj następującego polecenia, jeśli masz do czynienia W tym repozytorium działa inny proces git, np. edytor otwarty przez 'git commit'. Upewnij się, że wszystkie procesy zostały zakończone, a następnie spróbuj ponownie. Jeśli nadal nie powiedzie się, proces git mógł ulec awarii wcześniej w tym repozytorium: usuń plik ręcznie, aby kontynuować.
rm -f .git / index.lock
git reset i po poleceniu reset użyj git status, git add i git commit -a lub git commit -m "twoja wiadomość", git push master master.
źródło
rm -f .git/index.lock
nie pomogło, ponieważ miałem zablokowany plik, którego nie można usunąć. Więcindex.lock
został również przechwycony przez jakąś aplikację.Pobrałem alternatywę dla Unlockera o nazwie Lock Hunter i usunąłem oba pliki.
Git
schwytali ich.źródło
Mam takie same problemy, kiedy próbowałem przemieszczać plik w SourceTree.
Aby rozwiązać ten problem, przejdź do folderu .git w katalogu projektu i ręcznie usuń plik index.lock i gotowe.
źródło
W przypadku, gdy może pomóc komuś innemu ... Próbowałem z linii poleceń
rm -f .git/index.lock
i nie działałem (terminal nie pokazywał żadnego błędu). Właśnie poszedłem bezpośrednio do folderu.git
i usunąłemindex.lock
plik.Uwaga:
.git
folder znajduje się w głównym repozytorium i jest ukryty. W systemie Mac:Cmd
+Shift
+,.
aby wyświetlić ukryte pliki.źródło
Dla mnie rozwiązanie było tak proste, jak zamknięcie mojego IDE, a następnie sprawdzenie. Mój kolega z drużyny zaakceptował mój PR i połączył kod za pośrednictwem TFS. Usunięcie plików .lock nie działało.
źródło
Usuń
index.lock
tutaj:Ponadto, jeśli twoje repozytorium ma podmoduły, usuń również
index.lock
tutaj:źródło
Próbowałem usunąć,
.git/index
ale nie działało, w końcu odinstalowuję go i usuwam wszystkie foldery, które majągo
w nim nazwę, a następnie instaluję go ponownie, i działa!źródło
Dla mnie z dowolnego powodu:
Nie działało, więc po prostu poszedłem do pliku .git i usunąłem go ręcznie, co działało fantastycznie.
źródło
tylko dla wyjaśnienia, dla tych, którzy zastanawiają się, dlaczego rm i del.
możesz dodać,
-f
aby wymusić operację, która działa.źródło
Napotkałem ten sam problem. Musiałem zrobić niewiele więcej, aby rozwiązać ten problem. Najpierw usunąłem,
index.lock
a następnie sklonowałem nowy kod z istniejącej lokalizacji repozytorium git. Miałem zmiany kodu w oddzielnej lokalizacji. Skopiowałem.git
folder i.gitignore
plik i wkleiłem w folderze kodu, w którym dokonałem zmian kodu. Potem próbowałem zatwierdzić i naciskać, działało to płynnie. Być może ta informacja będzie pomocna, jeśli Twój problem nie zostanie rozwiązany powyżej.źródło
Miałem ten sam problem przy użyciu SourceTree . Ale na moim hoście nie było żadnego pliku index.lock . Znalazłem plik pack-refs.lock i po usunięciu problem został rozwiązany.
źródło
napotkałem ten sam problem, problem polegał na tym, że próbowałem wypchnąć kod z
xml
plikiem (używanym jako zestaw danych) o rozmiarze 1,3 GB, więc dodałem ten plik do,.gitignore
a następnie rozwiązałem problemźródło
Jeśli wylądujesz tutaj na podstawie tytułu pytania („Wydaje się, że w tym repozytorium działa inny proces git”), pamiętaj, że zaakceptowana odpowiedź nie będzie miała bezpośredniego zastosowania do ciebie, jeśli wiadomość w tytule tego pytania poprzedza inna wiadomość, taka jak ten poniżej:
fatal: cannot lock ref 'HEAD': Unable to create '/<PATH>/<TO>/<REPO>/.git/refs/heads/<BRANCH>.lock': File exists.
W takim przypadku powinieneś usunąć ten plik (.lock) zamiast .git / index.lock
źródło