Rebase 应该在 Git 2.14.x/2.15 起更多地使用 rerere-autoupdate(自动更新)(2017 年第三季度)。
请看提交 f826fb7, 提交 8d8cb4b, 提交 6f0e577, 提交 9b6d7a6, 提交 5fb415b, 提交 fd4a3f4 (2017年8月2日) 作者是Phillip Wood (phillipwood
)。
(在提交 1016495中由Junio C Hamano -- gitster
--合并于2017年8月22日)
这是因为现在:
rebase
: 尊重--rerere-autoupdate
Rebase 接受 '
--rerere-autoupdate
' 作为一个选项,但只有在同时给出 '-m
' 时才会尊重它。
通过将该选项传递给 'git am
' 和 'git cherry-pick
',解决非交互式 rebase 的问题。
rebase -i
: 尊重--rerere-autoupdate
交互式 rebase 忽略了 '
--rerere-autoupdate
'。
通过在恢复交互式 rebase 的序列器状态时读取相应的文件,并在使用 '--preserve-merges
' 进行 rebase 时将 '--rerere-autoupdate
' 传递给合并和 cherry-pick 来解决此问题。
GIT_SEQUENCE_EDITOR
的脚本中的git rebase -i
。因此,不自动继续/跳过已解决的冲突非常麻烦,因为要么我必须手动完成它,要么使用大量的git reset
,git cherry-pick
等来模拟if!git rebase […];然后git rebase --abort; fi
的优雅方式,从而有很多机会搞砸。 - Tim Landscheidt