我知道如何使用git rebase交互式交换最后两个提交(git rebase -i HEAD~2,ddjp:x在Vim中),但我想用编程器脚本以编程方式进行,因为这是我最终经常做的事情.
更具体一点,我想重写历史
A---B---C---D HEAD
Run Code Online (Sandbox Code Playgroud)
至
A---B---D---C HEAD
Run Code Online (Sandbox Code Playgroud)
以完全脚本的方式.理想情况下,如果交换失败,它应该允许我以交互方式修复它,或者只是放弃并告诉我手动完成它.
git ×2