Git 的 rerere 会记住一次冲突是怎么解决的。以后再遇到相同的冲突,就能重用那份结果,省去重复手工修改。 它适合几种反复整合代码的场景:长期开发的分… · @BaiBtw · TwKit
@BaiBtw
Git 的 rerere 会记住一次冲突是怎么解决的。以后再遇到相同的冲突,就能重用那份结果,省去重复手工修改。 它适合几种反复整合代码的场景:长期开发的分支要定期试合并,又不想留下许多中间合并提交;分支经常 rebase;多个开发分支先合在一起测试,失败后撤回重组。它不会让冲突消失,只会复用已经记录过的解决方式。 用 git config --global rerere.enabled true 可以全局启用。第一次冲突出现时,Git 记录冲突状态;手工解决并提交后,再记下解决结果。例如两个分支把 hello world 分别改成 hola world 和 hello mundo,最后手工合成 hola mundo。以后遇到同样的冲突,rerere 就有了可重用的答案,之前 merge 时记下的结果也可以用于后来的 rebase。 git rerere status 查看正在记录哪些冲突文件,git rerere diff 查看解决前后的差别。重用结果后,还可以用 git diff 检查文件;示例中的 rebase 仍需要 git add 标记已解决,再执行 git rebase --continue。文件内容自动改好了,不等于整个变基已经完成。
曝光 29 · 评论 0 · 点赞 0 · 书签 0
查看原帖