昨天,我的樱桃采摘两次提交到我的主要分支,其中一人造成合并冲突和我解决了他们,忠诚的,他们推到原点。 今天,我试图从我得到以下错误的服务器中拉出:
$ git pull
fatal: You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).
Please, commit your changes before you can merge.
$
Git的状态显示为:
$ git status
# On branch main
# Your branch is behind 'origin/main' by 2 commits, and can be fast-forwarded.
#
$
我曾尝试以下无济于事:
$ git cherry-pick --continue
usage: git cherry-pick [options] <commit-ish>
$
我如何能解决这个任何想法? 提前致谢!
下一次尝试git cherry-pick --abort
,你做了什么,否则应该或多或少的工作。
以解决以下几点: rm .git/CHERRY_PICK_HEAD
我意识到这是危险的,因为这并不能保证git的内内在一致性,但对我来说没有任何问题至今...
如果git cherry-pick --continue
不工作,这意味着Git是太旧:该选项中引入了git的1.7.8(2011年12月)在提交5a5d80f
它的工作原理通过丢弃从git的/定序器/ TODO所述第一指令并执行那里列出的其余樱桃纬,与选项(认为“ -s
”和“ -X
从‘中列出的初始命令’) .git/sequencer/opts
”。
这些天来(2014),这将是当你看到使用命令“ You have not concluded your cherry-pick
”。
因为我以前的从2014年起的答案 ,正确的命令现在(2018)是git cherry-pick --quit
。
和Git 2.19之前(Q3 2018),“ git cherry-pick --quit
”无法删除CHERRY_PICK_HEAD
尽管我们不会在摘樱桃会议返回后,这已得到纠正。
见提交3e7dd99通过(2018年8月16日) 阮玉维战泰( pclouds
) 。
(通过合并JUNIOÇ滨野- gitster
-印刷提交39e415c 8月20日2018)
摘樱桃:修复--quit不删除CHERRY_PICK_HEAD
--quit
是应该--abort
但没有恢复HEAD
。
离开CHERRY_PICK_HEAD
背后可能使其他命令误认为cherry-pick
仍在进行中(例如,“ git commit --amend
”将拒绝工作)。 清洁它。
对于--abort
,删除这份工作CHERRY_PICK_HEAD
是“ git reset
”,所以我们不需要做任何事情。 但是,让我们添加额外的检查中--abort
测试,以确认。