我尝试合并两个仓库,产生一个平坦的(也就是交错的)历史。我在"History rewrite:"下面输入https://stackoverflow.com/a/14839653/188108。
要合并的两个分支位于"master"one_answers"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 | --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 cherry-pick 9d325d6d^..3f4c52ba
正如我在"如何挑选一系列提交并合并到另一个分支"中提到的:
在"
cherry-pick A..B
"表中,A
应大于B
。
如果顺序错误,命令将静默失败。如果您想选择
B
到D
(包括)的范围,那么将是B^..D
。