Przerwać git wiśniowy?


388

Uciekłem git cherry-pick <hash>i miałem konflikty scalania. Nie chcę rozwiązywać konfliktów, chcę po prostu zrezygnować z wyboru. Podczas rzeczywistego łączenia (z git merge) jest przydatna git merge --abort. Jaki jest odpowiednik zbierania wiśni?

Odpowiedzi:


600

Możesz wykonać następujące czynności

git cherry-pick --abort

Z git cherry-pickdokumentów

--abort  

Anuluj operację i powróć do stanu sprzed sekwencji.


6
Czy opcja --abort została usunięta / dodana w określonej wersji git? Korzystam z git 1.7.4.1, a „git cherry-pick --abort” powoduje wyświetlenie komunikatu o użyciu git cherry-pick. Wymieniłem też hasło „git help cherry-pick” na „abort” i nic nie znalazłem.
danns87

1
@ danns87 --abortopcja stała się dostępna w wersji 1.7.8 . Czy możesz uaktualnić?

4
tak, to nie działa Większość razy to dostaję error: Entry '<unstaged file>' not uptodate. Cannot merge. Z drugiej strony, git reset --mergedziała!
kumarharsh

@KumarHarsh, której wersji Git używasz?

1
> 1,8. W rzeczywistości było to spowodowane brudnymi plikami w katalogu. Ale git reset --mergepolecenie działa nawet wtedy.
kumarharsh

73

Uznałem, że odpowiedź brzmi git reset --merge- to usuwa sprzeczną próbę wyboru.


4
Czy to coś innego git reset --hard? Używam przepływu pracy w bazie danych, jeśli w ogóle. Wydaje mi się, że to działa.
x-yuri

3
Jaka jest różnica między --mergei --abort?
ffghfgh

8

Dla mnie jedynym sposobem na zresetowanie nieudanej próby pobrania z wiśni był

git reset --hard HEAD

To nie odpowiada na pytanie i sugeruje jedynie operację, która może zniszczyć dane.
martinkunev

2

Spróbuj również z opcją „--quit”, która pozwala przerwać bieżącą operację i dodatkowo wyczyścić stan sekwencera.

--quit Zapomnij o trwającej operacji. Można go użyć do wyczyszczenia stanu sekwencera po nieudanej operacji wybierania lub przywracania.

--abort Anuluj operację i powróć do stanu sprzed sekwencji.

skorzystaj z pomocy, aby zobaczyć oryginalny dokument z bardziej szczegółowymi informacjami, $ git help cherry-pick

Unikałbym „git reset - hard HEAD”, który jest zbyt trudny i może skończyć się ręczną pracą.


To nie powinno istnieć. Git jest wystarczająco skomplikowany bez dwóch sposobów anulowania wyboru, które mają nieco inny wpływ na stan repo.
Kaz

To prawda, że ​​nie daje mi to żadnego błędu, ale nie do końca wychodzi ze stanu polecenia.
Yu Chen,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.