Я щойно перейшов на магніт 2.1.0. (А також до emacs 25.0.50 та git 2.3.1.)
Раніше в *magit*
буфері я міг:
- Виберіть лунку в районі Нестандартний.
- Введіть vі відповідь "Так", щоб відмінити його.
Це було зручно.
Але тепер в Magit 2.1.0 він дає помилку: "Cannot reverse unstaged changes"
.
Чому?
Взявши підказку з повідомлення про помилку, я виявив, що все-таки можу це зробити, хоча дещо «назад» шляхом, виконавши більше кроків:
- stage лук. (Відчуває себе назад; переміщуючи його ближче до закріпленого стану)
- Наведи вниз і виберіть його в Поетапній області.
- Натисніть v, відповідь "так".
- Однак лук все ще є поетапним, тож нарешті мені доведеться uзгорнути ногу.
Це помилка, чи це навмисно та / або я густо? Якщо останнє, чи можете ви допомогти мені зрозуміти?
ОНОВЛЕННЯ: Після ретельного RTFinfo, я бачу, що є дві команди:
- v
magit-reverse
Зворотну зміну в точці робочого дерева. - k
magit-discard
Видаліть зміни в точці з робочого дерева.
Здається, це k magit-discard
робить те, що я раніше звик vробити. Це спрацьовує на нерозбірливій луззі.
Тому практично мені просто потрібно переучити свою м’язову пам’ять, щоб використовувати k. Я можу це зробити як самовідповідь. Але я думаю, що мені все ще цікаво обґрунтування, тому що я думаю, що розуміння це допоможе мені зрозуміти магіт краще в цілому.
k
також відкидає неприпустимі зміни в попередніх версіях magit і, здається, є відповідною командою для того, що ви робите. v
є для повернення git: створення нового комітету, який вносить протилежну зміну попереднього. Я думаю, що повернення зміни, яка насправді не була здійснена, - це те саме, що відкинути її, але "повернути" має конкретне значення як команда git.
v
було пов'язано magit-revert-item
("зворотна" термінологія походить звідти, @PythonNut), а для нестандартних елементів це робилося magit-discard-item
(як також пов'язано k
) - див. Рядок 4872 тут . Мабуть, я випадково дізнався той особливий сенс v
, який спрацював, коли я повинен був навчитися користуватися k
.