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.

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


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.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.