Прервать мерзавец?


389

Я бежал git cherry-pick <hash>и имел конфликты слияния. Я не хочу разрешать конфликты, я просто хочу отменить вишневую кирку. При фактическом слиянии (с git merge) есть удобство git merge --abort. Какой эквивалент для сбора вишни?

Ответы:


602

Вы можете сделать следующее

git cherry-pick --abort

Из git cherry-pickдокументов

--abort  

Отмените операцию и вернитесь в состояние предварительной последовательности.


6
Была ли удалена / добавлена ​​опция --abort в определенной версии git? Я запускаю git 1.7.4.1, а результат "git cherry-pick --abort" выдает сообщение об использовании git cherry-pick. Я также добавил "git help cherry-pick" для "abort" и ничего не нашел.
danns87

1
@ danns87 --abortопция стала доступна в версии 1.7.8 . Возможно ли вам обновить?

4
да, это не работает В большинстве случаев я получаю это error: Entry '<unstaged file>' not uptodate. Cannot merge. С другой стороны, git reset --mergeработает!
kumarharsh

@KumarHarsh, какую версию Git вы используете?

1
> 1,8. На самом деле, это было из-за грязных файлов в каталоге. Но git reset --mergeкоманда работает даже тогда.
kumarharsh

73

Я нашел ответ git reset --merge- он очищает конфликтную попытку выбора вишни.


4
Это отличается от git reset --hard? Я использую рабочий процесс rebase, если что-нибудь. Кажется, у меня получилось.
x-yuri

3
какая разница между --mergeа --abort?
ffghfgh

8

Для меня единственный способ сбросить неудавшуюся попытку выбора вишни был

git reset --hard HEAD

Это не отвечает на вопрос, а только предлагает операцию, которая может уничтожить данные.
мартинкунев

2

Попробуйте также с опцией --quit, которая позволяет вам прервать текущую операцию и дополнительно очистить состояние секвенсора.

--quit Забудьте о текущей операции в процессе. Может использоваться для очистки состояния секвенсора после неудачного выбора или возврата вишни.

--abort Отменить операцию и вернуться в состояние предварительной последовательности.

используйте help, чтобы увидеть оригинал документа с более подробной информацией, $ git help cherry-pick

Я бы избегал слишком резкого 'git reset --hard HEAD', и вы могли бы в конечном итоге сделать ручную работу.


Этого не должно быть. Git достаточно сложен без двух способов отмены вишневого пика, которые незначительно влияют на состояние репо.
Каз

Правда, это не дает мне никакой ошибки, но не полностью выходит из состояния команды.
Ю Чен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.