【发布时间】:2014-11-04 05:47:28
【问题描述】:
有一个 master 远程分支,它以 team1 作为远程分支。从那时起,Master 已经进行了几次提交。我已经从 master 创建了一个新的分支 team2,我现在正试图将 team1 中的所有提交移动到 team2。我试过了:
git rebase --onto master team1 team2
但无济于事。谁能帮忙。
图示:
a -> b -> c-> d (master)
| |
| k (team2)
e -> f -> g (team1)
我希望合并 team1 将 e、f、g(实际上还有更多)提交到 team2,这只是 master 的一个普通分支。樱桃采摘太忙了。
【问题讨论】:
-
git merge team1有什么问题吗? -
Merge 显然会“合并”两个分支,这是我不想要的。只想将提交“复制”到新分支中。
-
team1 中大约有 70 个提交,因此采摘樱桃太忙了。
-
复制提交正是cherry-pick所做的。我很难弄清楚你必须避免与 git merge 进行合并的具体原因。使用cherry-pick 复制提交,使用merge 合并历史,或者使用squash-merge 丢失历史。
-
为什么你不能从 team2 分支做一个 git rebase team1 如果你做一个 git rebase team1 提交层次将变成 a ->e -> f -> g -> b -> c- > d ->k