Git rebase-如果重新解决了所有冲突,则自动继续

Git rebase-如果重新解决了所有冲突,则自动继续,git,git-rebase,git-rerere,Git,Git Rebase,Git Rerere,Git提供在重新基址期间重用以前的冲突解决方案,甚至可以通过设置reere.autoupdate=True(如中所述)来暂存已解决的文件。但是,即使解决了所有冲突并暂存了所有文件,我仍然必须运行git-rebase--continue以继续rebase操作 如果rere已解决所有冲突并暂存所有更改,如何自动继续?否。当发生冲突时,重新基础或合并不会自动提供自动提交的规定。您可以在“合并”标题中了解更多关于git合并的信息。也不提供重定基址时自动提交的选项。请注意,您可以选择在合并时不提交。Reb

Git提供在重新基址期间重用以前的冲突解决方案,甚至可以通过设置
reere.autoupdate=True
(如中所述)来暂存已解决的文件。但是,即使解决了所有冲突并暂存了所有文件,我仍然必须运行
git-rebase--continue
以继续rebase操作


如果
rere
已解决所有冲突并暂存所有更改,如何自动继续?

否。当发生冲突时,重新基础或合并不会自动提供自动提交的规定。您可以在“合并”标题中了解更多关于git合并的信息。也不提供重定基址时自动提交的选项。请注意,您可以选择在合并时不提交。

Rebase应该使用更多从Git 2.14.x/2.15开始的rerere自动更新(2017年第3季度)

参见,,,,(2017年8月2日)作者。
(于2017年8月22日被合并)

这是因为现在:

rebase
:荣誉
--重新进行自动更新
Rebase接受“
--reerre autoupdate
”作为选项,但只接受它 如果还提供了“
-m
”。
通过将选项传递到“
git am
”和“
git cherry pick
”来修复非交互式重基

rebase-i
:荣誉
--重新进行自动更新
交互式重新基础忽略了“
--rere autoupdate
”。
修复此问题的方法是:在恢复交互式重新基址的sequencer状态时读取相应的文件,并在重新基址时传递“
--rere autoupdate
”以合并和樱桃拾取“
--preserve merges


另一个问题有一个很好的答案,我不知道@frasertweedale是否是这个问题的意思,但我在脚本中使用了
git rebase-I
(使用
git\u SEQUENCE\u EDITOR
)。因此,不自动继续/跳过已解决的冲突是一个难题,因为要么我必须手动执行,要么模仿
if!git rebase[…];然后git rebase——中止;fi
具有大量的
git reset
git cherry pick
等,因此有很多机会出错。请注意,这不适用于
rebase--continue
,即您已经需要为初始rebase命令指定它。