Nach einem mehrstündigen Test auf git mit Shell wechselte ich zu magit
Es ist ziemlich ordentlich und effizient: Ich muss nicht mehr "git" eingeben, um einen Git-Befehl aufzurufen!
Aber ich habe immer noch einen Nachteil beim Vergleich der Shell-Befehlszeile gefunden
Jedes Mal, wenn ich : eintippte, um den Befehl git aufzurufen, erschien die Ausgabe im anderen Fenster. Ich musste C-x o eingeben, um zurückzuschalten, und dann den Befehl git erneut eingeben.
Gibt es einen besseren Weg, weiter zu tippen und gleichzeitig auf die Ausgabe zu schauen, außer dem Shell-Modus in Emacs?
Sollte ich die Ausgabe an irgendeinen anderen Modus binden? welcher? oder eine elegantere Lösung?
Vielen Dank
Ich stimme Brian zu, was versuchst du zu tun, was Magit nicht mit einem einfachen Schlüsseltrigger tun kann? Es gibt wahrscheinlich schon eine Schlüssel-Bindung dafür. Wenn nicht, gehe ich einfach C-z
in die Shell und führe den Befehl aus, dann tippe fg
, um Emacs wieder in den Vordergrund zu bringen.
Bearbeiten: Mein Ablauf geht so.
git diff
in die Befehlszeile ein, um zu sehen, ob ich noch Änderungen vom vorherigen Tag habe (vergiss nicht aktivierte Farben) !) Der Grund, warum ich das in der Kommandozeile als Magit benutze ist, weil ich noch nicht in Emacs bin. emacs file1 file2
oder ich öffne einige Dateien, an denen ich gerade arbeite. C-c i
ein, um das Statusfenster von Magit zu öffnen. s
, um diese Änderungen zu übernehmen, oder u
, um diese Änderungen zu deaktivieren. s
und u
ausführen, um Abschnitte des Codes zu staging und unstaging zu machen. Nützlich, wenn ich irgendwo einen Debug-Code hatte und ihn löschen möchte. c
ein, um das magit-edit-log zu öffnen. Ich tippe meine Commit-Nachricht und gebe dann C-c C-c
ein, um sie zu committen. Dann P
, um es zu schieben. Fertig! Beachten Sie, dass dies wie eine Menge Schritte klingt, aber es wird schnell natürlich und der ganze Prozess dauert buchstäblich 30 Sekunden für mich, um meine ganze Reihe von Änderungen zu differieren, sie zu inszenieren und sie mit einer Nachricht zu beglaubigen. Alle während des Aufenthaltes in Emacs. So viel einfacher als runter in die Befehlszeile zu gehen.
Manchmal wird ein Fehler zurückgegeben, wenn ich einen Push über Magit mache, der normalerweise durch neuen Code im Remote-Repo verursacht wird, den ich ziehen muss, bevor ich drücke. In diesem Fall F
zu ziehen Änderungen dann P
erneut zu drücken. Ehrlich gesagt, aus irgendeinem Grund, anstatt durch magit, ich im Allgemeinen nur Ctrl-z
in dieser Situation, Drop-Down in Shell, git pull
, und git push
.
Edit: Ich denke, ich erinnere mich an Magits Standard-Diff-Farben, die ziemlich scheußlich sind. Ich benutze folgendes in meinen .emacs Ich bin mir sicher, dass ich von irgendwo gestohlen habe:
%Vor%Normalerweise verwende ich Magits eingebaute Befehle für den Großteil meiner Arbeit, wenn ich Magit benutze, und benutze nur ein reguläres Terminal, wenn ich Dinge tun muss, die ich aus Magits eingebauten Befehlen nicht machen kann. Magit hat eingebaute Befehle für fast all meinen täglichen Gebrauch; was benutzt du regelmäßig, dass Magit nicht liefert und du wärst sowieso nicht in einem vollwertigen terminal?