Skip to content

git-rerere

重用记录的冲突合并解决方案。

概要

bash
'git rerere' [clear | forget <pathspec>... | diff | status | remaining | gc]

描述

在使用相对较长生命周期的主题分支的工作流中,开发者有时需要反复解决相同的冲突,直到主题分支完成(合并到"发布"分支或发送并被上游接受)。

此命令通过在初始手动合并时记录冲突的自动合并结果和相应的手动解决结果,并将先前记录的手动解决方案应用到相应的自动合并结果中,来协助开发者完成此过程。

注意:您需要设置配置变量 rerere.enabled 才能启用此命令。

命令

通常,git rerere 在没有参数或用户干预的情况下运行。但是,它有几个命令允许用户与其工作状态进行交互。

  • clear:如果要中止合并解决方案,则重置 rerere 使用的元数据。
  • forget <pathspec>:重置 rerere 为当前冲突记录的匹配 <pathspec> 的路径的冲突解决方案。
  • diff:显示当前解决方案状态的差异。
  • status:打印 rerere 将记录其合并解决方案的冲突路径。
  • remaining:打印尚未被 rerere 自动解决的冲突路径。
  • gc:修剪很久以前发生的冲突合并记录。默认情况下,超过 15 天的未解决冲突和超过 60 天的已解决冲突将被修剪。

讨论

当您的主题分支修改了重叠区域时,您可能需要在主题分支准备好推送到上游之前,使用最新的 master 进行测试。git rerere 可以帮助您重用之前手动解决的冲突解决方案。

Git

git 套件的一部分

基于 CC BY-NC-SA 3.0 许可发布