Вопрос только в главном режиме Magit для функции Emacs и меньше о том, как это сделать с помощью интерфейса командной строки.Magit revert single file
У меня есть только локальный репозиторий Git. Как восстановить выбранный файл в предыдущей версии? Я считаю, что команда Git для этого должна быть чем-то вроде git checkout HEAD^ path/to/file
, но я тоже могу ошибаться, просто догадываясь.
То, что я ищу, по существу то же самое, что и C-x v u в vc-dir
буфер.
По существу, на что я надеялся сделать, это:
удалить измененный файл.
тянуть из местного репо.
Но Magit не кажется, чтобы быть в состоянии сделать это, это, кажется, предпочитает просто удалить файл, вместо того, чтобы восстановить его.
(1) Буфер истории Magit определенно поддерживает это (хотя я не помню, как), вам нужны другие средства (например, в '* magit-status *')? (2) Если вы хотите вернуться к базе, почему бы не использовать малый режим 'vc'' C-x v u'? – lukstafi
Вы говорите об отмене незавершенных изменений (т. Е. О возврате к текущей версии) или о возврате к предыдущей фиксации? 'git checkout HEAD file' отменит незафиксированные изменения. 'git checkout HEAD^file' также вернет изменения (если они есть), сделанные в файл в последней фиксации в репозитории. Если это сообщение не связано с данным файлом, то '^' эффективно избыточно. Следуя сводке «удалить и вытащить», вы просто хотите отказаться от незафиксированных изменений, и в этом случае ответ Реми - тот, который вы хотите. – phils