这段内容有点长,但我认为它可能是一个有趣的问题。
尽管很多人不情愿,但我们公司最近才开始使用git,在小项目中有些人成功地开始使用它,现在我们实际上在更相关的项目中使用它。
我总是试图在合并之前进行rebase,但最近我们发现了这种方法的一个问题。
想象一下你有一个文件F,你有以下git历史记录:
(master) F -- F''1
\
(feature) \- F'1 -- ... -- F'X
现在,如果您对功能分支进行了变基,并且在解决第一个冲突时,您实际上保留了来自F''1和F'1的更改,则必须手动解决文件F的X个冲突,因为git无法自动解决它们。相反,如果您只是进行了合并(而没有变基),则只需解决一个(“大”)冲突。这让我质疑变基的实际价值,因为这可能是非常繁琐的工作。
我是否遗漏了什么或者这就是事实?如果您在一个文件上有30个提交,您将不得不逐个查看每个提交并手动解决任何冲突。是否有更合适的方法来处理这种情况?
如果我解释得不太清楚,很抱歉,但您可以尝试在虚拟存储库中重复我提到的步骤,我认为您会明白我的困扰。