中止git-pick-pick?


388

我跑了git cherry-pick <hash>,有合并冲突。我不想解决冲突,我只是想中止选择。与(git merge)进行实际合并时,很方便git merge --abort。摘樱桃等于什么?

Answers:


600

您可以执行以下操作

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 2013年

1
@ danns87,该--abort选项在版本1.7.8中可用。您可以升级吗?

4
是的,这不起作用。大部分的时间我得到这个error: Entry '<unstaged file>' not uptodate. Cannot merge. 在另一方面,git reset --merge没有工作!
kumarharsh 2014年

@KumarHarsh您正在使用哪个版本的Git?

1
> 1.8。实际上,这是由于目录中的文件脏了。但是该git reset --merge命令即使在那时仍然有效。
kumarharsh 2014年

73

我发现答案是git reset --merge-它清除了冲突的摘樱桃尝试。


4
有什么不同git reset --hard吗?我正在使用变基工作流,如果有的话。它似乎为我工作。
x-yuri 2014年

3
--merge和之间有什么区别--abort
ffghfgh 2016年

8

对我来说,重置失败的Cherry-Pick-attempt的唯一方法是

git reset --hard HEAD

这不能回答问题,仅建议可能破坏数据的操作。
martinkunev

2

也可以尝试使用“ --quit”选项,该选项可让您中止当前操作并进一步清除音序器状态。

--quit忘记当前正在进行的操作。失败后,可以用来清除音序器的状态。

--abort取消操作并返回到先序状态。

使用help查看更多细节的原始文档,$ git help cherry-pick

我会避免使用'git reset --hard HEAD',它太苛刻了,您可能最终需要做一些手动工作。


那不应该存在。Git非常复杂,没有取消取消回购选择的两种方式,它们对回购状态有微妙的影响。
哈兹(Kaz)

没错,它不会给我任何错误,但不会完全退出命令状态。
Yu Chen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.