A version control system is a program that can record multiple versions of a source file, storing information such as the creation time of each version, who made it, and a description of what was changed.
The Emacs version control interface is called VC. VC commands work with several different version control systems; currently, it supports Bazaar, CVS, Git, Mercurial, Monotone, RCS, SRC, SCCS/CSSC, and Subversion. Of these, the GNU project distributes CVS, RCS, and Bazaar.
VC is enabled automatically whenever you visit a file governed by a
version control system. To disable VC entirely, set the customizable
(see Customizing VC).
To update the VC state information for the file visited in the
current buffer, use the command
vc-refresh-state. This command
is useful when you perform version control commands outside Emacs
(e.g., from the shell prompt), or if you put the buffer’s file under a
different version control system, or remove it from version control
|• Introduction to VC||How version control works in general.|
|• VC Mode Line||How the mode line shows version control status.|
|• Basic VC Editing||How to edit a file under version control.|
|• Log Buffer||Features available in log entry buffers.|
|• Registering||Putting a file under version control.|
|• Old Revisions||Examining and comparing old versions.|
|• VC Change Log||Viewing the VC Change Log.|
|• VC Undo||Canceling changes before or after committing.|
|• VC Ignore||Ignore files under version control system.|
|• VC Directory Mode||Listing files managed by version control.|
|• Branches||Multiple lines of development.|
|• Miscellaneous VC||Various other commands and features of VC.|
|• Customizing VC||Variables that change VC’s behavior.|