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


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.