我正在使用一个小脚本来修复过去的提交。该脚本假定断开提交的修复是阶段性的,工作目录是干净的,并且断开提交在命令行上传递。下面是脚本的原始python核心:
#!/usr/bin/env python
import os
import sys
broken_commit = sys.argv[1]
logmsg = os.popen( "git log --format=%%s %s~1..%s" % ( broken_commit, broken_commit ), 'r' ).read().strip()
os.system( "git commit --message \"fixup! %s\"" % logmsg )
os.system( "git rebase --interactive --autosquash %s~2" % broken_commit )
在这一点上,我得到了一个编辑的介绍,只需要确认一下(
:wq
在我的例子中)显示的更改。我怎样才能避免这最后一步?我想要
git rebase
行继续,而不给我机会编辑显示的步骤。
我听说您可以通过编辑器环境变量设置特殊的脚本来实现。不过,我在Windows上使用的是msysgit,所以我在这方面有点局限。