【问题标题】:Merge one git branch to other将一个 git 分支合并到另一个
【发布时间】: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

标签: git github merge


【解决方案1】:

如果你想让你的 team1 提交到 team2 分支,你应该这样做:

git rebase --onto team2 [a-hash] team1

因为 team2 是您的目标,而 commit 'a' 和 team1 是您要移动的一组提交的分隔符。

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 2019-01-04
    • 2013-11-09
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 2010-12-15
    • 2017-08-04
    • 1970-01-01
    相关资源
    最近更新 更多