如何将主分支中的并行更改合并到我的分支,而不修改主分支?

4

我对mergerebase感到非常困惑。

在主分支上,在点A处,我创建了一个名为mybranch的分支,切换到该分支并开始纯粹地工作,而其他人继续在master上工作。

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

但是,我想要所有masterB之前的更改,但我不想将mybranch中的任何代码添加到master中。

然后我所做的就是

  1. 检出主分支
  2. git rebase mybranch

是的,mybranch具有从AB之间的所有master更改,但是我发现master也具有我在mybranch中进行的更改。

现在看来,mastermybranch现在是相同的了。

我以为rebase target的意思是将当前位置放入target中,即仅基于mastermybranch进行变基,但为什么它是双向的呢?

如何实现我的原始目标?

1个回答

4
为了实现您最初的目标,您需要交换分支。
git checkout mybranch
git rebase master

这基本上与以下内容相同:

git rebase master mybranch

这意味着您的mybranch将被添加到master,同时保持master不变。
通常情况下,rebase不会影响目标分支。您可以尝试其他操作。
或者,您也可以使用merge:
git checkout mybranch
git merge master

这将在mybranch上创建一个合并提交,这是一个完全可行的选项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接