Pytanie Jak naprawić nieudane zatwierdzenie git?


Jestem nowy w git i próbował popełnić, ale utknąłem w czymś, co wyglądało vi z którym nie jestem zaznajomiony. Udało mi się z tego wydostać, ale myślę, że podałem niewłaściwy sposób, ponieważ mój status git mówi "zmiany nie są wystawiane", ale wciąż nie mogę spróbować ponownie. Czy ktoś mógłby mi powiedzieć, co mogę zrobić, aby naprawić wciąż zawieszający się proces i zatwierdzić moje zmiany?

tutaj jest błąd

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

nie wyjąłem pełnej ścieżki

Jak zawsze dzięki za pomoc.


18
2017-11-20 02:18


pochodzenie


Byłoby pomocne, aby zobaczyć pełne wyniki git status. - jdl
Zauważ, że możesz zmienić edytor używany do wysyłania wiadomości za pośrednictwem git config --global core.editor EDITOR_NAME, gdzie EDITOR_NAME jest plikiem wykonywalnym na twojej ścieżce (lub pełnej ścieżce). - Michael Mior
Możesz zobaczyć to pytanie, jak zmienić domyślny edytor w git: stackoverflow.com/questions/10564/... - yasouser
rm -f ./.git/index.lock To działało dla mnie, stackoverflow.com/questions/7860751/... - RAJCHOW
@RAJCHOW, który pracował również dla mnie. "Zatrzymałem" kolejny proces dodawania git -a z CTR + Z - ProfNandaa


Odpowiedzi:


Zakładając, że nie robisz nic z gitem w danej chwili (tj. Nie robisz pchania lub ciągnięcia lub uruchamiania skryptu git w repozytorium, z jakiegokolwiek powodu), możesz po prostu usunąć plik blokady ręcznie i spróbować ponownie.

Ponadto git oczekuje "komunikatu zatwierdzenia" opisującego twoje zmiany. Zakładając, że nie chcesz otworzyć edytora, możesz podać wiadomość w wierszu za pomocą -m opcja:

git commit -am "Changed this, that, and the other thing"

11
2017-11-20 02:34



ok i zakładając, że działa, jak zapisać i zmienia się, gdy wywołuje vi - mcgrailm
@mcgrailm: Edytowałem swoją odpowiedź, sprawdziłem to i dało mi znać, czy to pomaga. - Platinum Azure
musiał najpierw dodać każdy plik, zamiast używać git commit -a "zmienił to, to i inne" otrzymał komunikat, że zmiany nie są wystawiane - mcgrailm
Przepraszam, powinienem dodać, że musisz użyć git add na twoich plikach, albo użyj -a flagę, aby pobrać wszystko, co ma zmiany. - Platinum Azure
Ta komenda zepsuła moje repozytorium. - TheBlackBenzKid


Usuwanie index.lock plik ręcznie z katalogu .git pracował.

lub

Z linii poleceń:

$ rm -rf .git/index.lock

Uwaga: Upewnij się, że tylko jeden indeks plik istnieje w katalogu .git


12
2017-12-16 17:52





Zauważ, że wiadomość poprawi się i będzie bardziej wyraźna w git 2.9 (czerwiec 2016), aby zaprosić Cię do rozważenia wszystkich przyczyn przed usunięcie tej blokady samemu.

Widzieć zatwierdź aed7480, popełnij 3030c29 (01 marca 2016) wg Matthieu Moy (moy).
Pomógł: Moritz Neeb (zormit).
(Scalone przez Junio ​​C Hamano - gitster - w commit 3b8c4b7, 03 kwietnia 2016 r.) 

lockfile: popraw komunikat o błędzie, gdy istnieje plik blokujący

Częstym błędem prowadzącym użytkownika do wyświetlenia tej wiadomości jest uruchomienie "git commit", pozwól redaktorowi otworzyć (i zapomnij o tym) i spróbuj ponownie   popełnić.

Poprzedni komunikat był zbyt szybki, aby "zderzyć proces git"   i do porady "usuń plik ręcznie".

Ta poprawka modyfikuje wiadomość na dwa sposoby:

  • po pierwsze, uważa, że ​​"inny proces jest uruchomiony" jest normą, a nie wyjątkiem,
  • i wyraźnie wskazuje użytkownikowi na przeglądanie edytorów tekstu.

Wiadomość jest dłuższa o 2 wiersze, ale nie stanowi to problemu, ponieważ doświadczeni użytkownicy często nie widzą wiadomości.


1
2018-04-05 21:28





mój został rozwiązany z obu odpowiedzi od Platynowy Azure następnie Suhail Taj

git commit -am "Changed this, that, and the other thing"

Następnie

$ rm -rf .git/index.lock

0
2018-02-13 01:43