Einfache Rebase vom Meister mit Magie?

11

Ich habe gerade auf die neueste Version von Magit aktualisiert, nachdem ich jahrelang die alte Version verwendet habe. Alle Verbesserungen sind großartig, nachdem Sie ein wenig herumgesucht und die Unterschiede herausgefunden haben.

Jetzt versuche ich nur, die einfachste (nicht interaktive) Rebase durchzuführen, magitund ich kann nicht herausfinden, wie das geht. Dieses Beispiel stammt von https://git-scm.com/docs/git-rebase .

git checkout topic
git rebase master
  1. Schlagen r
  2. ?
  3. Mein Themenzweig wird mit den neuesten Änderungen vom Master neu basiert.
Andrew Goodnough
quelle
3
Wählen Sie "anderswo" (drücken Sie "e") und wählen Sie dann "Master". Nur um sicherzugehen: Sie werden Ihr Zweig "Thema" auf Master (nicht von ) neu gründen . On bedeutet, dass Git nach dem jüngsten gemeinsamen Vorfahren von "master" und "topic" sucht und dann an den Commits in "topic" arbeitet, um Änderungen in "master" auf sie anzuwenden. Am Ende bleibt "master" unverändert, aber "topic" enthält Änderungen von "master" (ich schreibe dies in der Hoffnung, einen Fehler zu verhindern, wenn Sie der Meinung sind, dass ein erneutes Basieren vom Master das Gegenteil bewirken würde).
wvxvw
2
Beachten Sie, dass, wenn Sie einen Upstream für Ihren Zweig festlegen - Sie können bekannte Optionen eingeben bund dann uwiederholt durchlaufen (dies origin/masterist typisch) -, dies zu einer Standardoption wird, auf die Sie (über r u) zurückgreifen können .
Phils
Danke für die Kommentare. Das hat es für mich geklärt. Ich habe Magits Rebasing-Seite gelesen, aber vorher machte es keinen Sinn. Ich denke, das Wort "auf" war das Problem. Ich verwende jetzt 'r' und dann 'e', ​​um das Neueste vom Master zusammenzuführen, aber es war auch hilfreich zu wissen, wie ich meinen Upstream mit 'b', 'u' einstelle.
Andrew Goodnough
@wvxvw Könnten Sie bitte diesen Kommentar in eine Antwort verwandeln?
Tarsius

Antworten:

16
  1. Presse r (Rebase) in Magit Statuspuffer. Dies zeigt einen Popup-Puffer mit mehr Optionen an.
  2. Drücken Sie e ( an anderer Stelle) beginnt auf einem anderen Zweig Rebasing.
  3. Wählen Sie den Zweig aus, auf dem die Basis wiederhergestellt werden soll, indem Sie auf die Eingabeaufforderung antworten (Hinweis: Der ausgewählte Zweig wird nicht geändert, der aktuelle Zweig ist) .
  4. Das Fütterungsmaterial wird gestartet , und Sie werden jetzt mehr Optionen in rebase Menü haben: rfortzusetzen (nach der Lösung von Konflikten) , aum den Vorgang abzubrechen (der gesamte Fütterungsmaterial Prozess wird vor rebase seiner zurückgespult zurück) und süberspringen (manchmal Git verwechselt wird, zum Beispiel , wenn Ihr Commit keine Änderungen einzuführen scheint, was passieren kann, wenn sowohl Ihr aktueller Zweig als auch der Zielzweig dieselbe Änderung hinzugefügt haben) .
  5. Ihre Commits werden auf die Commits im Zielzweig angewendet. Wenn sie nicht reibungslos angewendet werden, werden Ihnen der Fortschritt und die Konflikte im Magit-Statuspuffer angezeigt.
wvxvw
quelle