Jak łatwo wybrać cherry z magit?

40

Używam magit od kilku miesięcy i bardzo mi się podoba. Ale jedną rzeczą, którą wciąż robię w terminalu, jest kompletacja.

Jak to zrobić w prosty sposób?

caisah
źródło

Odpowiedzi:

31

Wszędzie, gdzie zobaczysz zatwierdzenie w buforze Magit, możesz go wybrać , przesuwając tam punkt, a następnie pisząc A A. Możesz także wybrać wiele zatwierdzeń jednocześnie: po prostu wybierz niektóre zatwierdzenia przy użyciu regionu, a następnie naciśnij A A.

Tarsjusz
źródło
45

Wersja Magit <= 1.4.2

To całkiem proste:

  1. Wprowadź przegląd magit-status
  2. Sprawdź (naciśnij b b) gałąź, w którą chcesz wybrać czereśnie.
  3. Wykonaj zakres dziennika (naciśnij l r l), aby znaleźć zatwierdzenia, które chcesz wybrać. Tutaj wybierasz 2 gałęzie, które chcesz porównać.
  4. Przewiń do zatwierdzenia, które chcesz wybrać, i naciśnij, Aaby zastosować zmiany, a także przesłać je wraz z komunikatem zatwierdzenia. Jeśli naciśniesz a, nie wprowadzi zmian, a jedynie je zastosuje.

Aby zbierać wiśnie, nie musisz wykonywać zakresu dzienników. Ilekroć zobaczysz dziennik zatwierdzeń, możesz nacisnąć, Aaby go wybrać.

Wersja Magit> = 2.1.0

Po uaktualnieniu Magit do 2.1 przepływ pracy jest inny. W przypadku obu metod należy najpierw uruchomić magit-status.

Metoda A : Cherry Pick zmienia kolejno kolejne gałęzie

  1. Naciśnij, la następnie, oaby uzyskać listę innych oddziałów.
  2. Wybierz gałąź, z której chcesz wybrać cherry.
  3. Przejdź do potrzebnego zatwierdzenia i naciśnij, Aa następnie Aponownie.
  4. Linia stanu pokaże ci, które wybrałeś

    na przykład feature/ABC~4

    Naciśnij, Enteraby zastosować zmiany.

Metoda B : Cherry Wybierz wszystkie zmiany z innej gałęzi

  1. Naciśnij, Aaby wybrać tryb wyboru wiśni.
  2. Naciśnij Aponownie, aby zastosować i zatwierdzić zmiany. Naciśnij, aaby zastosować tylko zmiany.
  3. Wybierz gałąź, z której wiśnia wybierze zmiany i naciśnij Enter.

Ja osobiście wolę metodę A, ponieważ lepiej radzisz sobie z konfliktami scalania.

cb0
źródło
8

Nie używam zbierania wiśni, ale uderzam ?w magit-statusprogramy y: Cherry. Uruchamia to polecenie magit-cherry, które pozwala wybrać głowicę i górę. Wygląda na to, że tego właśnie chcesz.

Możesz wpisać, C-h r d m Magit RETaby przeczytać instrukcję Magit. Możesz użyć C-s cherryi powtarzać uderzenia, C-saby przeszukać instrukcję. Wygląda na to, że informacje znajdują się w sekcji 23:

Jedną z zalet gitjest to, że może ci powiedzieć, które zatwierdzenia zostały scalone w górę, ale nie lokalnie i odwrotnie. Poleceniem Git do tego jest cherry(nie należy mylić cherry-pick). Magit posiada wsparcie dla tego powołując magit-cherryktóry jest związany z ydomyślnie.

Magit poprosi Cię najpierw o wersję źródłową (która domyślnie dotyczy aktualnie śledzonej zdalnej gałęzi, jeśli taka istnieje) oraz wersję główną (która domyślnie dotyczy bieżącej gałęzi) do użycia w porównaniu. Zobaczysz nowy bufor, w którym wszystkie zatwierdzenia są wymienione ze znacznikiem kierunkowym, ich poprawką i pierwszym wierszem komunikatu zatwierdzenia. Znacznik kierunkowy +wskazuje albo zatwierdzenie, które jest obecne w górze, ale nie w głowie, lub -które wskazuje, że zatwierdzenie jest obecne w głowie, ale nie w górę.

Z tej listy można korzystać ze zwykłych przypisań klawiszy do wybierania pojedynczych zatwierdzeń ( ado wybierania bez A zatwierdzania i dla tego samego plus automatyczne zatwierdzanie). Bufor jest odświeżany automatycznie po każdym pobraniu cherry.

niania
źródło
1
Podczas wywoływania instrukcji Magit możesz zapisać naciśnięcie klawisza, wykonując C-h izamiast C-h r d. Spowoduje to przejście bezpośrednio do najwyższego poziomu informacji.
itsjeyd,
1
@itsjeyd Nahh, C-h izabierze Cię do ostatniego pliku informacji, który otworzyłeś, więc jeśli uderzę C-h i m, potencjalnie mógłbym przeglądać menu rozdziałów w SICP zamiast menu wszystkiego. Trafienie dpo C-h ilub C-h rzapewni, że będziesz w katalogu informacyjnym, zanim uderzysz m.
niania
To niezła sztuczka, nie wiedziałem o tym! Poza tym całkowicie nie na temat: Informacyjna wersja SICP ?! Gdzie mogę dostać kopię? :)
itsjeyd
@itsjeyd Trzymam to w moim Dropbox, myślę, że dostałem to stąd: github.com/webframp/sicp-info
niania
1
Dzięki! Sprawdziłem MELPA i okazało się, że z tego repozytorium buduje się pakiet. Tak więc instalacja wersji Info SICP jest tak łatwa jak M-x package-install RET sicp RET:)
itsjeyd