Właśnie zaktualizowałem do wersji 2.1.0. (A także emacs 25.0.50 i git 2.3.1.)
Wcześniej w *magit*
buforze mogłem:
- Wybierz przystojniak w obszarze Nieustawiony.
- Wpisz vi odpowiedz „tak”, aby to odwrócić.
To było przydatne.
Ale teraz w MAGIT 2.1.0 daje błąd: "Cannot reverse unstaged changes"
.
Czemu?
Biorąc podpowiedź z komunikatu o błędzie, odkryłem, że wciąż mogę to zrobić, choć w nieco „wsteczny” sposób, wykonując więcej kroków:
- stage przystojniak. (Czuje się do tyłu; przybliżając go do stanu popełnionego.)
- Przewiń w dół i wybierz go w obszarze etapowym.
- Naciśnij v, odpowiedz tak.
- Jednak przystojniak jest wciąż wystawiany, więc w końcu muszę go uzaatakować.
Czy to błąd, czy jest to celowe i / lub jestem gęsty? Jeśli to drugie, czy możesz mi pomóc zrozumieć?
AKTUALIZACJA: Po dokładnym poinformowaniu RTF widzę, że istnieją dwie komendy:
- v
magit-reverse
Odwróć zmianę w punkcie drzewa roboczego. - k
magit-discard
Usuń zmianę w punkcie z drzewa roboczego.
Wygląda na to, że k magit-discard
robi to, do czego byłem przyzwyczajony vwcześniej. Działa na przystojniaku.
Więc praktycznie muszę po prostu ponownie wyćwiczyć pamięć mięśni, aby móc z niej korzystać k. Mógłbym to opublikować jako odpowiedź własną. Ale wydaje mi się, że wciąż jestem ciekawy uzasadnienia, ponieważ wyobrażam sobie, że zrozumienie pomoże mi lepiej zrozumieć magit.
k
odrzuca również niezatwierdzone zmiany we wcześniejszych wersjach magit i wydaje się właściwym poleceniem do tego, co robisz. v
jest dla git revert: utworzenie nowego zatwierdzenia, które spowoduje odwrotną zmianę w stosunku do poprzedniego. Wydaje mi się, że cofnięcie zmiany, która nie została jeszcze zatwierdzona, jest równoznaczne z jej odrzuceniem, ale „przywracanie” ma określone znaczenie jako polecenie git.
v
był związany magit-revert-item
(terminologia „odwrotna” pochodzi stąd, @PythonNut), a dla elementów niestacjonarnych robił to magit-discard-item
(jak również jest to związane k
) - patrz wiersz 4872 tutaj . Najwyraźniej przypadkowo nauczyłem się tego specjalnego znaczenia v
, które zadziałało, kiedy powinienem był nauczyć się używać k
.