在初始合并冲突后强制git rebase接受我的版本

时间:2016-10-12 15:08:17

标签: git merge

这是一个git rebase / merge / continue场景,需要更方便的方法:

  

给定:一个文件在当前分支和   分支被重新定位。

     

已经执行:手动合并文件。

     

复杂化:以下命令似乎需要多个   时代:它只找到“必需”的一小部分(根据   git)改为一次合并:

    git rebase --continue
  

期望的结果:让Git简单地“接受”我所拥有的文件   现有分支。

     

尝试了什么:在原始版本的初始rebase之后   该文件的副本已复制到合并冲突版本之上。

     

发生了什么:git rebase --continue文件仍然存在之后   冲突 - 但有一组不同的合并冲突。这个   过程现在重复几次,但尚未完成。

我们可以“跳到追逐”并接受我更新的文件吗?

2 个答案:

答案 0 :(得分:3)

查看git rerere

https://git-scm.com/2010/03/08/rerere.html

这是要点(摘自那篇文章):

  

该名称代表“重复记录的分辨率”,顾名思义,它允许您让Git记住您是如何解决大块冲突的,以便下次看到相同的冲突时,Git可以自动解决它对你而言。

答案 1 :(得分:3)

您遇到多个冲突的原因是您要重新设置多个提交,其中几个(全部?)包含对文件的冲突更改。您无法跳过这些冲突解决步骤,因为您正在创建多个新提交,并且每个提交都需要处于已解决状态的文件的特定版本。

您可以像之前一样继续,也可以选择压缩提交,避免生成多次提交,只需合并一次。