我正在使用一个小脚本来修复过去的提交。该脚本假定已经暂停了对已损坏提交的修复,工作目录是干净的,并且在命令行上传递了损坏的提交。这是脚本的原始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
行继续下去,而不会让我有机会编辑显示的步骤。
我听说你可以通过EDITOR环境变量设置特殊脚本来实现。但是,我在Windows上使用msysGit,所以我在这方面有点受限。
答案 0 :(得分:5)
在运行EDITOR
之前将环境变量true
设置为git rebase
会使其自动接受所显示的更改。