Я только что обновился до версии 2.1.0. (А также к emacs 25.0.50 и git 2.3.1.)
Ранее в *magit*
буфере я мог:
- Выберите кусок в области Unstaged.
- Введите vи ответьте да, чтобы изменить это.
Это было удобно.
Но теперь в Magit 2.1.0 он дает ошибку: "Cannot reverse unstaged changes"
.
Зачем?
Получив подсказку из сообщения об ошибке, я обнаружил, что все еще могу сделать это, хотя и несколько «задом наперед», с помощью следующих шагов:
- sтейдж ломоть (Чувствует себя задом наперед; приближает его к совершенному состоянию.)
- Перейдите вниз и выберите его в области «Постановка».
- Нажмите v, ответьте да.
- Тем не менее, кусок все еще в uстадии постановки, так что, наконец, я должен поставить кусок.
Это ошибка, или это намеренно и / или я плотный? Если последнее, вы можете помочь мне понять?
ОБНОВЛЕНИЕ: После полного RTFinfo-я вижу, что есть две команды:
- v
magit-reverse
Отмените изменение в точке рабочего дерева. - k
magit-discard
Удалить изменение в точке из рабочего дерева.
Кажется, это k magit-discard
делает то, что я привык vделать раньше. Это работает на необработанном ломоть.
Поэтому практически мне просто нужно переучить свою мышечную память, чтобы использовать k. Я мог бы опубликовать это в качестве самостоятельного ответа. Но я думаю, что мне все еще любопытно обоснование, потому что я представляю, что понимание поможет мне лучше понять магию.
k
также отменяет несогласованные изменения в более ранних версиях magit и кажется подходящей командой для того, что вы делаете. v
предназначен для git revert: создание нового коммита, который делает противоположное изменение предыдущего. Я полагаю, что отмена изменения, которое на самом деле не было зафиксировано, - это то же самое, что отмена его, но «возврат» имеет особое значение как команда git.
v
был привязан magit-revert-item
(оттуда происходит "обратная" терминология, @PythonNut), а для неустановленных элементов это использовалось magit-discard-item
(как и связано k
) - см. Строку 4872 здесь . Видимо, я случайно узнал то особое значение v
, которое сработало, когда я должен был научиться использовать k
.