1

我在开发人员分支上,我尝试执行git rebase remote/a_remote_branch 我看到:

First, rewinding head to replay your work on top of it...
Applying: change #1
Failed to merge in the changes.
Patch failed at 0001 change #1

我的问题是为什么要git rebase尝试应用“更改#1”?

这是因为当我这样做时git log,我在本地分支中看到“更改 #1”,为什么 git 在我变基时再次尝试应用“更改 #1”?

4

1 回答 1

5

merge和之间的区别在于rebaserebase它试图使您的分支看起来像是基于父分支的较新版本。因此,它会删除您的所有分支提交,快进到最新的父提交,然后尝试重新应用您的更改。因此,重新建立基础。如果您进行新的提交,它将在您的工作之上merge引入所有父级更改。然后冲突(如果有的话)将在该合并提交中,而不是在您现有的分支工作中。

于 2013-05-14T20:52:53.583 回答