【发布时间】:2017-02-27 12:30:38
【问题描述】:
我已经使用 Git 很长时间了,但是今天我遇到了一个问题,将一些更改从一个分支合并到另一个分支。我遇到的这种情况是 - 我有 4 个分支:2 个主要分支和 2 个特色分支。假设它们的名称如下:main_branch1、main_branch2、feature_branch1 和 feature_branch2。功能分支总是从main_branch1 创建的,当你完成你的工作时,你将它们合并回它。然后在某个时间点,它们的更改也会合并到main_branch2。两个主要分支之间没有合并!
问题来了。在我现在的情况下,feature_branch1 有时是从main_branch1 创建的,在其中进行了一些更改并将其合并回主分支。然后我从main_branch1 再次创建feature_branch2,在那里也进行了更改并将其合并回其中。现在我想将feature_branch2 合并到main_branch2 中,但只是它所具有的更改——因为当我创建它时,我从feature_branch1 中得到了更改。我尝试使用git rebase,但无法让事情顺利进行,而且我的工作树看起来一团糟。
这是我想要实现的目标以及我的树应该是什么样子的图表:
o---------------o---------------------o main_branch1
\ / \ /
o-----------o \ /
feature_branch1 \ /
\ /
o-----------o
feature_branch2 \
\
o-----------o main_branch2
正如您在创建 feature_branch2 时所看到的,我已经从 feature_branch1 获得了更改,这些更改已合并到 main_branch1。当我将feature_branch2 合并到main_branch2 时如何排除它们?但是当我决定将feature_branch1 合并到main_branch2 时,我需要稍后添加它们...
知道我该怎么做吗?谢谢! :)
【问题讨论】:
标签: git version-control merge branch rebase