2012-03-30 11 views
0

Ich arbeite daran, Git zu lernen und der Abschnitt, in dem ich gerade bin, benutzt --amend. Wenn ich dies im Terminal starte, öffnet es TextMate für mich, um die Nachricht zu ändern. Ich ändere die Nachricht und dann speichern. Ich gehe zurück zum Terminal und nichts ist passiert.git --amend im externen Editor

Welchen Schritt vermisse ich hier oder mache ich das nicht richtig?

+0

Was ist die vollständige Befehlszeile, die Sie verwenden? Ich erwarte: git commit --amend Hast du neue Änderungen hinzugefügt? (git add ) – StevenLooman

+0

Verwenden Sie Ihren Lieblings-Editor in Git: http://StackOverflow.com/Questions/10564/How-Can-I-Set-Up-An-De-To-Work-mit-Git-on-Windows – eckes

Antwort

1

Der Texteditor, den Sie verwenden, sollte nicht "spawnen" und die Kontrolle an Git zurückgeben, bis Sie speichern und es beenden. Ich weiß nicht, wie man textmate so konfiguriert, dass es auf diese Weise funktioniert, aber wenn Sie Ihre EDITOR-Variable auf etwas wie vim setzen, sollten Sie sehen können, dass es gut funktioniert. Wenn Sie Ihren Befehl ausführen, wird der Editor angezeigt und Sie werden aufgefordert, Änderungen vorzunehmen. Wenn Sie dies tun und beenden, wird der Befehl git weiter ausgeführt und Ihr Commit wird geändert.

0

Sie müssen das Flag --wait (-w) in Ihrer Git-Konfiguration einstellen. So können Sie Text in Ihren Editor eingeben und git wird auf das Ereignis speichern/schließen warten. Für TextMate sollte so etwas funktionieren:

git config --global core.editor "mate -w"