使用 Git Rerere 复用冲突解决方案
学习 Git 的 rerere 功能如何记录并在重复变基和合并期间自动重放冲突解决方案。
使用 Git Rerere 复用冲突解决方案 是 CoddyKit 上的免费 Git & GitHub Professional Workflow 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Git & GitHub Professional Workflow 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Git & GitHub Professional Workflow 课程共包含 4 节课。
什么是 Rerere?
Rerere 是 重用已记录的解决方案(reuse recorded resolution)的缩写。启用后,Git 会记住您如何解决冲突;如果再次遇到完全相同的冲突,它会自动重新应用相同的解决方案。
Rerere 的作用
在长期运行的变基过程中,或反复合并同一个分支时,相同的冲突可能一再出现。Rerere 可以避免您每次都手动解决它。
启用 Rerere
只需设置一项配置,就可以在全局启用它。
git config --global rerere.enabled true它如何记录解决方案
发生冲突时,Git 会保存解决前的状态。您修复并暂存文件后,Git 会记录您的解决方案。
git merge feature
# CONFLICT in app.js
# Recorded preimage for app.js解决一次
按正常方式解决冲突,然后暂存文件。Rerere 会悄悄记录您的处理方式。
# edit app.js to fix conflict
git add app.js
# Recorded resolution for app.js自动重放
下次出现完全相同的冲突时,Git 会替您解决它,并告诉您已经完成了这项操作。
git rebase main
# Resolved app.js using previous resolution检查 Rerere 状态
使用 git rerere status 查看哪些文件存在待处理的已记录冲突状态。
git rerere status查看差异
git rerere diff 会显示将要应用的已记录解决方案,让您可以在继续之前进行确认。
git rerere diff忘记解决方案
如果记录了错误的解决方案,可以清除某个文件的记录,让 Git 下次再次询问您。
git rerere forget app.jsRerere 与变基
Rerere 在交互式变基期间尤其有用,因为您可能会反复重放相同的提交。它可以消除大部分重复性的冲突处理工作。
git rebase -i HEAD~10局限性
Rerere 只能匹配完全相同的冲突。如果周围的代码发生变化,已记录的解决方案将无法应用,您需要手动解决。
快速检查
测试您对 rerere 的理解。
回顾
您已经学会使用 rerere:
- 使用
rerere.enabled true启用 - 解决一次冲突后,Git 会将其记录下来
- 之后会自动解决完全相同的冲突
git rerere forget清除错误的解决方案
它对于长期变基非常有价值。
用 AI 导师学习 Git & GitHub Professional Workflow — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 12
- 课程
- 48
常见问题解答
「使用 Git Rerere 复用冲突解决方案」课时是免费的吗?
是的 — 「使用 Git Rerere 复用冲突解决方案」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Git & GitHub Professional Workflow 课程的其余内容,请升级到 CoddyKit PRO。 Git & GitHub Professional Workflow 课程共包含 4 节课。
「使用 Git Rerere 复用冲突解决方案」这节课中我会学到什么?
学习 Git 的 rerere 功能如何记录并在重复变基和合并期间自动重放冲突解决方案。 你通过在浏览器中直接运行的动手代码来练习 Git & GitHub Professional Workflow,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Git & GitHub Professional Workflow 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Git & GitHub Professional Workflow 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「使用 Git Rerere 复用冲突解决方案」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Git & GitHub Professional Workflow 课中编写并运行代码吗?
能。每节 Git & GitHub Professional Workflow 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 手动解决合并冲突
- 使用交互式变基整理历史
- 挑选提交
- 使用 Git Rerere 复用冲突解决方案