为什么git';有多个提交失败的情况下的樱桃采摘?
我尝试合并两个回购协议,产生一个平坦(又称交错)的历史。我是按照“重写历史”的思路来做的 要合并的两个分支位于“master”和“src/master”中。然后,我写:为什么git';有多个提交失败的情况下的樱桃采摘?,git,git-cherry-pick,Git,Git Cherry Pick,我尝试合并两个回购协议,产生一个平坦(又称交错)的历史。我是按照“重写历史”的思路来做的 要合并的两个分支位于“master”和“src/master”中。然后,我写: $ git checkout --orphan new-master $ git cherry-pick 9d325d6d 3f4c52ba error: a cherry-pick or revert is already in progress hint: try "git cherry-pick (--continue |
$ git checkout --orphan new-master
$ git cherry-pick 9d325d6d 3f4c52ba
error: a cherry-pick or revert is already in progress
hint: try "git cherry-pick (--continue | --quit | --abort)"
fatal: cherry-pick failed
$ git cherry-pick 9d325d6d && git cherry-pick 3f4c52ba
[new-master 10f0277] Initial revision.
7 files changed, 194 insertions(+)
create mode 100644 __init__.py
create mode 100644 manage.py
create mode 100644 samples/__init__.py
create mode 100644 samples/models.py
create mode 100644 samples/views.py
create mode 100644 settings.py
create mode 100644 urls.py
[new-master 08e083c] Fixed field name in SixChambersLayer. Added Sample.current_place.
1 file changed, 2 insertions(+), 1 deletion(-)
那么,为什么第一个cherry-pick命令失败了,而split命令有效呢?我使用git 1.9.1。请尝试:
git cherry-pick 9d325d6d^..3f4c52ba
正如我在“”中提到的:
在“cherry pick A..B
”表单中,A
应早于B
如果顺序错误,命令将自动失败 如果要从
B
到D
(包括)选择范围,则应为B^..D
正如在链接的SO答案中所解释的,我有一个SHA-1列表,需要仔细挑选,以便从中构建新的分支。换句话说,它们很少是连续的
Man7GitRevision
建议只列出提交ID就可以了。。。此外,我不理解git cherry pick的错误消息@bronger您是否按正确的顺序(从最早到最新)列出了这些提交?你也在什么操作系统上?(检查一个较新的git是否能更好地工作)是的,它从最老到最新。它是Ubuntu14.04和它的git。我有同样的问题,但是Git2.8.2。我最终使用了echo-sha1-sha1 | xargs-n1 git-cherry-pick
来解决这个我不理解的问题。