我尝试合并两个repos,产生一个平坦的(也就是交错的)历史记录。我按照https://stackoverflow.com/a/14839653/188108的方式执行此操作,在"历史记录重写:"。
要合并的两个分支是" 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 | --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。
答案 0 :(得分:1)
尝试改为:
git cherry-pick 9d325d6d^..3f4c52ba
正如我在" How to cherry pick a range of commits and merge into another branch"中提到的那样:
在"
cherry-pick A..B
"表单A
应该早于B
如果他们的订单错误,命令将无声地失败。如果您想选择范围为
B
到D
(包括)B^..D
的范围。