如何在不修改master的情况下将任何并行更改从master合并到我的分支中?

时间:2014-12-19 11:20:34

标签: git merge rebase

我对mergerebase感到困惑。

在master中,在 A 点,我创建了一个分支mybranch,结帐,并开始纯粹地处理它,而其他人继续在master上工作。

已经有一段时间了。今天,我发现master已达到 B 点,我仍然无法完成mybranch中的部分。

但是,我希望所有更改master最多包含 B ,但我不希望将mybranch中的任何代码添加到master中{1}}。

然后我做的是

  1. 结帐大师
  2. git rebase mybranch
  3. 是的,mybranch包含了来自 A B 之间的所有更改,但我发现master也有更改我在mybranch中制作。

    现在似乎mastermybranch现在完全相同。

    我认为rebase target意味着将当前位置放入target,即仅基于mybranch重新定义master,但为什么它是双向的?

    如何实现我的最初目标?

1 个答案:

答案 0 :(得分:4)

要实现原始目标,您需要更换分支。

git checkout mybranch
git rebase master

有效地与:

相同
git rebase master mybranch

这意味着您的 mybranch 将被添加到 master ,同时保持 master 不变。

通常rebase永远不会影响目标分支。你可能会做别的事。

另外,您可以使用merge

git checkout mybranch
git merge master

这将在 mybranch 上创建一个合并提交,是一个非常可行的选择。