忘记在合并前拉出更改

  • 本文关键字:合并 忘记 git merge
  • 更新时间 :
  • 英文 :


我有一个本地分支feature,为了使将来合并到master更容易,我的意图是通过以下方式"更新"feature分支:

git pull --rebase
git checkout feature
git merge --no-ff master
git push origin feature

在解决合并冲突之后,但在commitpush之前,我意识到我忘记运行git pull --rebase,因此,我的本地master实际上是在远程master之后的两个提交。

我是否需要中止合并,即回到运行merge之前的情况,然后在我之前的合并尝试之后执行git pull --rebase ?或者我可以做些什么来包括remote master更改到我的local master,因为我会在当前merge之前进行更改。解决缺少两个提交的合并冲突显然与当前的解决方法不同。

希望我的问题有意义

如果您的本地master只是在远程master之后的两个提交,则无需中止任何操作或重新启动,因为您可以获取并合并这两个提交。

只需解决合并冲突并将更改提交到功能分支,然后更新master,并再次从master合并到feature。这与您首先更新了 master的情况完全相同,但随后有人向origin/master添加了一些新的提交,即您的本地master将再次落后于origin/master。但这不是问题,你只需更新你的母版并再次合并为feature。

或者解决冲突并提交到特性分支,然后仅git fetch origin && git merge origin/master将最新的上游更改直接应用到feature分支。(这意味着feature的提交还没有在你的master分支中,但没关系,下次更新时你会在master中得到它们)。

注意:如果你启用了rerere,那么如果你决定中止并重新开始合并,那么你就不需要重新解决合并冲突,因为Git会记住这些解决方案并重用它们。

最新更新