我遇到了以下情况:
我在与git rerere enabled
合并期间遇到了冲突。
我修复了冲突文件,但其他非冲突文件也必须进行调整
所有触摸的文件都已添加并提交。 git rerere
表示已记录决议。
后来git pull --rebase=preserve
重复合并冲突,git rerere来救援
但是,只应用了冲突文件中的部分分辨率,其他文件中的更改不是
快速浏览rr-cache表示尚未记录其他更改。
git是否只记录直接冲突文件中的更改而没有其他内容?
是否有选项可以记录在解析提交中完成的所有更改,而不仅仅是冲突的文件?
答案 0 :(得分:0)
git是否只记录直接冲突文件中的更改而没有其他内容?
是。嗯,几乎 - 它稍微复杂一点。
是否有选项可以记录在解析提交中完成的所有更改,而不仅仅是冲突的文件?
不,这就是“稍微复杂一点”的部分。rerere
代码不记录所有的变化和分辨率;它只记录冲突的更改及其相应的解决方案。根本不保存非冲突位。
(顺便说一下,git rebase --preserve
实际重新创建合并,即新的git merge
命令,正如我认为您已经观察到的那样。从git pull
调用它对此过程的这一部分没有影响。)