代码之家  ›  专栏  ›  技术社区  ›  Frerich Raabe

我怎样才能自动接受Git-Rebase——交互式礼物?

git
  •  4
  • Frerich Raabe  · 技术社区  · 15 年前

    我正在使用一个小脚本来修复过去的提交。该脚本假定断开提交的修复是阶段性的,工作目录是干净的,并且断开提交在命令行上传递。下面是脚本的原始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,所以我在这方面有点局限。

    1 回复  |  直到 15 年前
        1
  •  5
  •   Frerich Raabe    15 年前

    设置环境变量 EDITOR true 赛前 git rebase 将使其自动接受显示的更改。