If you have made extensive changes to a file and then change your mind about them, you can get rid of them by reading in the previous version of the file. To do this, use M-x revert-buffer, which operates on the current buffer. Since reverting a buffer unintentionally could lose a lot of work, you must confirm this command with yes.
revert-buffer
keeps point at the same distance (measured in
characters) from the beginning of the file. If the file was edited only
slightly, you will be at approximately the same piece of text after
reverting as before. If you have made drastic changes, the same value of
point in the old file may address a totally different piece of text.
Reverting marks the buffer as ``not modified'' until another change is made.
Some kinds of buffers whose contents reflect data bases other than files,
such as Dired buffers, can also be reverted. For them, reverting means
recalculating their contents from the appropriate data base. Buffers
created explicitly with C-x b cannot be reverted; revert-buffer
reports an error when asked to do so.
When you edit a file that changes automatically and frequently---for example, a log of output from a process that continues to run---it may be useful for Emacs to revert the file without querying you, whenever you visit the file again with C-x C-f.
To request this behavior, set the variable revert-without-query
to a list of regular expressions. When a file name matches one of these
regular expressions, find-file
and revert-buffer
will
revert it automatically if it has changed---provided the buffer itself
is not modified. (If you have edited the text, it would be wrong to
discard your changes.)