git rebase -i präsentiert eine leere MacVim-Datei

Lesezeit: 3 Minuten

Benutzer-Avatar
Kevin Burke

Ich versuche, ein Commit umzubasen. Allerdings jedes Mal, wenn ich laufe git rebase -i f83eff3ffc8, öffnet sich beispielsweise ein MacVim-Fenster, das leer ist (es gibt keine Informationen in der Datei). Sobald ich die Datei schreibe und schließe (obwohl sie leer ist), erhalte ich a Successfully rebased and updated refs/heads/clicktocall-hotfix Botschaft.

Der Dateiname ist .git/rebase-merge/git-rebase-todo. Ich habe auch versucht, es mit sudo auszuführen, aber das hat keinen Unterschied gemacht.

Was könnte das Problem sein? Ich habe noch nie eine Rebase erfolgreich abgeschlossen.

  • Nichts mit vim zu tun. Etikett entfernt.

    – manojlds

    4. Januar 2012 um 7:20 Uhr

  • Es sieht so aus, als ob Git erfolgreich eine “No-Op”-Rebase durchführt. Was versuchst du zu machen? Bitte beschreiben Sie Ihre Zweigstruktur und wo das Commit erfolgt f83eff ist. Das könnte hilfreich sein: www-cs-students.stanford.edu/~blynn/gitmagic/ch05.html

    – opqdonut

    4. Januar 2012 um 8:19 Uhr

  • Genau, eine leere rebase -i Datei bedeutet, dass Sie versuchen, den HEAD selbst zu rebasen, so funktioniert git rebase nicht.

    – fg

    4. Januar 2012 um 8:55 Uhr

  • Readded vim-Tag, da dies standardmäßig aufgerufen wird, wenn git rebase -i ausgegeben wird.

    – Adam Dymitruk

    4. Januar 2012 um 16:06 Uhr

  • Ich habe das gleiche Problem, aber ich verwende vim nicht. Ich führe git von einem Cygwin-Terminal aus und habe versucht, meine festzulegen core.editor zu einer Reihe verschiedener Editoren wie Notepad2 und GitExtensions, aber ich erhalte immer wieder die leere Datei, wenn ich versuche, eine interaktive Rebase durchzuführen, und ich weiß nicht warum. notepad2 funktioniert, wenn ich es tue git commit. Das habe ich gehört rebase ist eigentlich ein Perl-Skript, also könnte das vielleicht etwas damit zu tun haben? Ich verwende Git-Version 1.8.1.3.

    Benutzer456814

    20. Februar 2013 um 0:25 Uhr

Für Atom konnte ich das Problem beheben, indem ich das Wait-Flag zu gitconfig hinzufügte (reference https://help.github.com/articles/associating-text-editors-with-git/)

[core]
    editor = atom --wait 

  • Da VSCode auf Atom basiert, funktioniert das gleiche Flag (dh code --wait)

    – Sina Madani

    11. April um 15:11 Uhr

Benutzer-Avatar
Kevin Burke

Ich habe Macvim verwendet und musste mvim damit ausführen -f Option, wie hier dokumentiert: GIT_EDITOR funktioniert nicht mit Macvim

  • Als Referenz. Ich hatte ein ähnliches Problem beim Wechsel von Sublime zu Atom und vergaß, den Git-Editor zu aktualisieren. Das sollte helfen: git config –global core.editor “atom –wait”

    – Paskal

    9. Juli 2015 um 7:30 Uhr


Ich habe Atom verwendet und bin auf dieses Problem gestoßen. Ich habe meinen Standard-Editor so eingestellt:

export VISUAL=vim
export EDITOR="$VISUAL"

Jetzt funktioniert alles super.

TL;DR; Verwenden Sie Vim.

Ich bin auch in VS Code darauf gestoßen, und das Problem war, dass ich das „Warten“-Flag in meiner Editor-Konfiguration vergessen hatte.

Gelöst durch Ausführen:

git config --global core.editor "code --wait"

Sie sollten sich das nicht einmal ansehen müssen git-rebase-todo Datei. Vim sollte eine Noop-Zeile und einige Kommentare anzeigen. Nach dem Speichern sollten Sie “Successfully rebased and updated” erhalten.

Sie verwenden entweder eine alte Version von Git, Sie haben eine fehlerhafte Git-Installation oder Sie haben den .git-Ordner auf irgendeine Weise berührt, um dieses Verhalten zu bewirken.

1086230cookie-checkgit rebase -i präsentiert eine leere MacVim-Datei

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy