Prosty rebase od mistrza z magit?

11

Właśnie uaktualniłem do najnowszej wersji Magit, od lat używam starej wersji. Wszystkie ulepszenia są świetne po krótkim rozejrzeniu się i znalezieniu różnic.

Teraz próbuję zrobić najprostszy (nieinteraktywny) rebase magiti nie mogę wymyślić, jak to zrobić. Ten przykład pochodzi z https://git-scm.com/docs/git-rebase .

git checkout topic
git rebase master
  1. Trafienie r
  2. ?
  3. Moja gałąź tematów opiera się na najnowszych zmianach wprowadzonych przez master.
Andrew Goodnough
źródło
3
Wybierz „gdzie indziej”, (naciśnij „e”), a następnie stamtąd wybierz „master”. Tylko dla pewności: opublikujesz swój „temat” gałęzi na master (nie od ). Na drodze Git będzie wyglądać dla najmłodszego wspólnego przodka „master” i „temat”, a następnie pracować na zatwierdzeń w „temacie” stosuje się do ich zmiany w „master”. Ostatecznie „master” pozostanie niezmieniony, ale „temat” będzie zawierał zmiany w stosunku do „master” (piszę to w nadziei, że uda się uniknąć błędu, to znaczy, jeśli uważasz, że zmiana bazy na master zrobi coś przeciwnego).
wvxvw
2
Zauważ, że jeśli ustawisz upstream dla swojej gałęzi - możesz pisać, ba następnie ukilkakrotnie przechodzić między znanymi opcjami (co origin/masterjest typowe) - wtedy stanie się to domyślną opcją bazowania na (via r u).
phils
3
Należy przeczytać magit.vc/manual/magit/Rebasing.html
phils
Dziękuję za komentarze. To mi wyjaśniło. Przeczytałem stronę Magit's Rebasing, ale wcześniej nie miało to sensu. Myślę, że problem stanowiło słowo „na”. Teraz używam „r”, a następnie „e”, aby scalić najnowsze od mastera, ale wiedza, jak ustawić mój upstream z „b”, „u” też była pomocna.
Andrew Goodnough,
@wvxvw, czy mógłbyś zamienić ten komentarz w odpowiedź?
Tarsius

Odpowiedzi:

17
  1. Naciśnij r (rebase) w buforze stanu Magit. Spowoduje to wyświetlenie podręcznego bufora z większą liczbą opcji.
  2. Naciśnij e (w innym miejscu), aby rozpocząć bazowanie na innej gałęzi.
  3. Wybierz gałąź, na której chcesz bazować, odpowiadając na monit (uwaga: wybrana gałąź nie jest modyfikowana, obecna gałąź jest) .
  4. Rozpocznie się proces rebase, a teraz będziesz mieć więcej opcji w menu rebase: rkontynuować (po rozwiązaniu konfliktów) , aprzerwać (cały proces rebase zostanie cofnięty przed rebase) i spominąć (czasem Git jest na przykład zdezorientowany , gdy zatwierdzenie wydaje się nie wprowadzać żadnych zmian, co może się zdarzyć, gdy zarówno bieżąca gałąź, jak i gałąź docelowa dodają tę samą modyfikację) .
  5. Twoje zatwierdzenia zostaną zastosowane do zatwierdzeń w gałęzi docelowej. Jeśli nie zostaną zastosowane płynnie, zostanie wyświetlony postęp i konflikty w buforze stanu Magit.
wvxvw
źródło