Search code examples
gitemacsmagit

Magit revert single file


The question is about Magit major mode for Emacs function and less so about how to do this via command line interface.

I only have a local Git repository. How would I restore a selected file to its previous version? I believe that the Git command for this must be something like git checkout HEAD^ path/to/file but I may be wrong here too, just guessing really.

What I'm looking for is essentially the same thing as C-x v u in vc-dir buffer.

Essentially, what I was hoping to do was:

  • delete the modified file.

  • pull from local repo.

But Magit doesn't seem to be able to do that, it seems to prefer to just delete the file, instead of restoring it.


Solution

  • To discard a modification in magit you just have to go on the hunk or file you want to revert, and use M-x magit-discard which is bound to k with the default keybindings. See the relevant documentation at https://magit.vc/manual/magit/Applying.html for more detail.