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-reverseOdwróć zmianę w punkcie drzewa roboczego. - k
magit-discardUsuń zmianę w punkcie z drzewa roboczego.
Wygląda na to, że k magit-discardrobi 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.
kodrzuca również niezatwierdzone zmiany we wcześniejszych wersjach magit i wydaje się właściwym poleceniem do tego, co robisz. vjest 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.
vbył 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.