背景
我正在使用启用了git rerere的方式解决合并冲突。 git status
显示有一个未合并的路径。当我查看文件时,没有标出冲突的 <<<<<<< HEAD
或者 >>>>>>> <SHA>
标记,这告诉我rerere已经根据我过去的做法解决了冲突。
我想确认rerere的解决方案是正确的。
我正在处理一个非常复杂的合并过程,涉及多个远程参与到Linux内核中。昨天我进行了几次远程测试合并,目的是识别冲突,通知维护人员,然后丢弃结果(肯定是错误的)内核。在这样做的过程中,我进行了几次粗心的冲突解决方案,只是为了转移到下一个远程分支,并在完成后调用了git rerere forget <pathspec>
命令来清除所有冲突的路径,包括我现在处理的路径。因为我告诉rerere忘记这个路径,所以我不知道它在此次运行中解决了什么问题,我担心它在昨天我对结果不关心时应用了我做的修复。
问题
有没有办法在rerere已经应用解决方案后查看rerere解决的冲突?
我想避免重新开始合并,因为这是一个尚未完全自动化的漫长过程。此外,由于昨天我试图告诉rerere忘记这个路径,但它今天仍然应用了一个解决方案,所以如果我不知道 git rerere forget <pathspec>
失败的原因,我认为我最终将处于同样的位置。
相关问题
撤销在rebase中完成的git rerere解析 <-- 解决方案需要重新开始合并
启用git rerere是否有任何缺点? <-- 仅讨论git rerere forget <pathspec>
跟进说明/问题
我刚刚尝试键入没有 pathspec 的 git rerere forget
,我知道这已经被弃用,但如果我理解正确,它应该使rerere忘记所有的解决方案。我重新运行了合并,它仍然应用解决方案到文件上。我还完全禁用了rerere,并第三次运行了合并,以便我可以看到冲突,rerere确实正在应用我昨天做出的半心半意的决策。为什么forget
没有正确丢弃我不想重用的解决方案?