Wie einfach mit Magit Kirschen pflücken?


40

Ich benutze magit seit ein paar Monaten und es gefällt mir sehr gut. Aber eine Sache, die ich immer noch in einem Terminal mache, ist das Kirschpflücken.

Was ist eine einfache Möglichkeit, dies zu tun?

Antworten:


31

Überall, wo Sie ein Commit in einem Magit-Puffer sehen, können Sie es auswählen , indem Sie den Punkt dorthin bewegen und dann tippen A A. Sie können auch mehrere Commits gleichzeitig auswählen: Wählen Sie einfach einige Commits mithilfe der Region aus und drücken Sie dann A A.


45

Magit Version <= 1.4.2

Es ist sehr leicht:

  1. Übersicht eingeben magit-status
  2. Schauen Sie sich b bden Zweig an (drücken Sie ), in den Sie Kirschen pflücken möchten.
  3. Machen Sie einen Log-Bereich (drücken Sie l r l), um die Commits zu finden, die Sie auswählen möchten. Hier wählen Sie die 2 Zweige aus, die Sie vergleichen möchten.
  4. Scrollen Sie zu dem Commit, den Sie auswählen möchten, und drücken Sie A, um die Änderungen zu übernehmen und sie zusammen mit der Commit-Nachricht in Szene zu setzen. Wenn Sie auf drücken a, werden die Änderungen nicht übernommen, sondern nur übernommen.

Sie müssen keinen logarithmischen Bereich für die Auswahl von Kirschen erstellen. Wann immer Sie ein Festschreibungsprotokoll sehen, können Sie drücken A, um es auszuwählen.

Magit Version> = 2.1.0

Nach dem Upgrade von magit auf 2.1 ist der Workflow anders. Für beide Methoden müssen Sie zuerst starten magit-status.

Methode A : Cherry Pick wechselt nacheinander von einem anderen Zweig

  1. Drücken Sie lund dann o, um eine Liste der anderen Zweige anzuzeigen.
  2. Wählen Sie den Zweig aus, aus dem Sie eine Kirsche auswählen möchten.
  3. Gehen Sie zu dem gewünschten Commit und drücken Sie Agefolgt von Aerneut.
  4. In der Statuszeile wird angezeigt, welches Commit Sie ausgewählt haben

    z.B feature/ABC~4

    Drücken Sie Enter, um die Änderungen zu übernehmen.

Methode B : Cherry Wählen Sie alle Änderungen aus einem anderen Zweig

  1. Drücken Sie A, um den Cherry Pick-Modus auszuwählen.
  2. Drücken Sie Aerneut anzuwenden und Änderungen. Drücken Sie, aum nur die Änderungen zu übernehmen.
  3. Wählen Sie einen Zweig, aus dem Sie Änderungen auswählen möchten, und drücken Sie Enter.

Ich persönlich bevorzuge Methode A, da Sie mit Zusammenführungskonflikten besser umgehen können.


8

Ich weiß nicht Rosinenpickens verwenden, aber schlagen ?in magit-statusShows y: Cherry. Dadurch wird der Befehl ausgeführt magit-cherry, mit dem Sie einen Kopf und einen Upstream auswählen können. Es hört sich so an, als ob Sie das wollen.

Sie können eingeben C-h r d m Magit RET, um das Magit-Handbuch zu lesen. Sie können den C-s cherrywiederholten Treffer verwenden C-s, um das Handbuch zu durchsuchen. Die Informationen finden Sie in Abschnitt 23:

Einer der Vorteile von gitist, dass Sie erkennen können, welche Commits vorgelagert, aber nicht lokal, zusammengeführt wurden und umgekehrt. Gits Unterbefehl dafür ist cherry(nicht zu verwechseln mit cherry-pick). Magit unterstützt dies durch den Aufruf, magit-cherryder ystandardmäßig gebunden ist .

Magit fordert Sie dann zunächst auf, die vorgelagerte Revision (die standardmäßig den aktuell überwachten Remote-Zweig enthält, falls vorhanden) und die Hauptrevision (die standardmäßig den aktuellen Zweig enthält) für den Vergleich zu verwenden. Sie sehen dann einen neuen Puffer, in dem alle Festschreibungen mit einer Richtungsmarkierung, ihrer Revision und der ersten Zeile der Festschreibungsmeldung aufgelistet sind. Die Richtungsmarkierung zeigt entweder +ein Commit an, das im Upstream, aber nicht im Head vorhanden ist, oder -ein Commit, das im Head, aber nicht im Upstream vorhanden ist.

Aus dieser Liste können Sie die üblichen Tastenkombinationen zum Auswählen einzelner Commits verwenden ( azum Auswählen ohne A Commit und für dieselben sowie für das automatische Commit). Der Puffer wird nach jedem Kirschpflücken automatisch aktualisiert.


1
Beim Aufrufen des Magit-Handbuchs können Sie einen Tastendruck speichern, indem Sie C-h ianstelle von C-h r d. Dadurch gelangen Sie direkt zur obersten Ebene von Info.
itsjeyd

1
@itsjeyd Nahh, C-h ibringt Sie zu der zuletzt geöffneten Infodatei. Wenn ich also drücke, kann es sein, dass ich C-h i mmir ein Kapitelmenü in SICP anstelle eines Menüs mit allem anschaue. Wenn Sie dnach C-h ioder drücken, C-h rwird sichergestellt, dass Sie sich im Info-Verzeichnis befinden, bevor Sie drücken m.
Kindermädchen

Das ist ein schöner Trick, das wusste ich nicht! Auch total off-topic: Eine Info-Version von SICP ?! Wo kann ich eine Kopie bekommen? :)
itsjeyd

@itsjeyd Ich behalte es in meiner Dropbox, ich glaube, ich habe es von hier bekommen: github.com/webframp/sicp-info
Kindermädchen

1
Vielen Dank! Ich habe MELPA überprüft und es stellte sich heraus, dass es ein Paket gibt, das aus diesem Repository erstellt wird. Die Installation der Info-Version von SICP ist also so einfach wie M-x package-install RET sicp RET:)
itsjeyd
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.