5 Stimmen

Wie kann ich automatisch akzeptieren, was git rebase --interactive mir vorschlägt?

Ich verwende ein kleines Skript, um vergangene Übertragungen zu korrigieren. Das Skript geht davon aus, dass der Fix für den kaputten Commit bereitgestellt wird, dass das Arbeitsverzeichnis sauber ist und dass der kaputte Commit auf der Kommandozeile übergeben wird. Hier ist der rohe Python-Kern des Skripts:

#!/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 )

An dieser Stelle wird mir ein Editor präsentiert, den ich nur noch bestätigen muss ( :wq in meinem Fall) die angezeigten Änderungen. Wie kann ich diesen letzten Schritt vermeiden? Ich möchte, dass die git rebase Zeile einfach weitergeht, ohne mir die Möglichkeit zu geben, die angezeigten Schritte zu bearbeiten.

Ich habe gehört, dass man über die Umgebungsvariable EDITOR ein spezielles Skript einstellen kann, um dies zu erreichen. Allerdings verwende ich msysGit auf Windows, so bin ich ein wenig in diesem Bereich begrenzt.

7voto

Frerich Raabe Punkte 85859

Einstellung der Umgebungsvariablen EDITOR à true vor der Ausführung git rebase werden die angezeigten Änderungen automatisch übernommen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X