Emacs: Version Control

By Xah Lee. Date: .

2020-08-29 work in progress. start to look at vc* commands in emacs, since i stop using magit.

ido-toggle-vc
Toggle version control for this file.
vc-annotate C-x v g
Display the edit history of the current FILE using colors.
vc-create-tag C-x v s
Descending recursively from DIR, make a tag called NAME.
vc-delete-file C-x v x
Delete file and mark it as such in the version control system.
vc-diff C-x v =
Display diffs between file revisions.
vc-diff-mergebase C-x v M D
Report diffs between the merge base of REV1 and REV2 revisions.
vc-dir C-x v d
Show the VC status for "interesting" files in and below DIR.
vc-ediff
Display diffs between file revisions using ediff.
vc-find-conflicted-file
Visit the next conflicted file in the current project.
vc-find-file-hook
Refresh the VC state of the current buffer's file.
vc-git-grep
Run git grep, searching for REGEXP in FILES in directory DIR.
vc-git-log-edit-mode
Major mode for editing Git log messages.
vc-git-log-edit-toggle-amend
Toggle whether this will amend the previous commit.
vc-git-log-edit-toggle-no-verify
Toggle whether to bypass the pre-commit and commit-msg hooks.
vc-git-log-edit-toggle-signoff
Toggle whether to add the "Signed-off-by" line at the end of
vc-git-log-view-mode
Major mode derived from `log-view-mode' by `define-derived-mode'.
vc-git-region-history-mode
Major mode to browse Git's "log -p" output.
vc-git-stash
Create a stash given the name NAME.
vc-git-stash-apply
Apply stash NAME.
vc-git-stash-apply-at-point
Apply the stash at point.
vc-git-stash-delete
Delete stash NAME.
vc-git-stash-delete-at-point
Delete the stash at point.
vc-git-stash-menu
(not documented)
vc-git-stash-pop
Pop stash NAME.
vc-git-stash-pop-at-point
Pop the stash at point.
vc-git-stash-show
Show the contents of stash NAME.
vc-git-stash-show-at-point
Show the stash at point.
vc-git-stash-snapshot
Create a stash with the current tree state.
vc-insert-headers
Insert headers into a file for use with a version control system.
vc-log-incoming C-x v I
Show a log of changes that will be received with a pull operation→from REMOTE-LOCATION.
vc-log-mergebase C-x v M L
Show a log of changes between the merge base of REV1 and REV2→revisions.
vc-log-outgoing C-x v O
Show a log of changes that will be sent with a push operation to→REMOTE-LOCATION.
vc-log-search
Search the log of changes for PATTERN.
vc-merge C-x v m
Perform a version control merge operation.
vc-mode-line
Set `vc-mode' to display type of version control for FILE.
vc-next-action C-x v v
Do the next logical version control operation on the current→fileset.
vc-print-branch-log
Show the change log for BRANCH in a window.
vc-print-log C-x v l
List the change log of the current fileset in a window.
vc-print-root-log C-x v L
List the revision history for the current VC controlled tree in a→window.
vc-pull
Update the current fileset or branch.
vc-push C-x v P
Push the current branch.
vc-refresh-state
Refresh the VC state of the current buffer's file.
vc-region-history C-x v h
Show the history of the region between FROM and TO.
vc-register C-x v i
Register into a version control system.
vc-rename-file
Rename file OLD to NEW in both work area and repository.
vc-resolve-conflicts
Invoke ediff to resolve the conflicts.
vc-retrieve-tag C-x v r
For each file in or below DIR, retrieve their tagged version NAME.
vc-revert C-x v u
Revert working copies of the selected fileset to their repository→contents.
vc-revert-buffer
Revert working copies of the selected fileset to their repository→contents.
vc-revision-other-window C-x v ~
Visit revision REV of the current file in another window.
vc-root-diff C-x v D
Display diffs between VC-controlled whole tree revisions.
vc-root-version-diff
Report diffs between REV1 and REV2 revisions of the whole tree.
vc-switch-backend C-x v b
Make BACKEND the current version control system for FILE.
vc-toggle-read-only
Change whether this buffer is read-only.
vc-update C-x v +
Update the current fileset or branch.
vc-update-change-log C-x v a
Find change log file and add entries from recent version control→logs.
vc-version-diff
Report diffs between revisions REV1 and REV2 in the repository→history.
vc-version-ediff
Show differences between REV1 and REV2 of FILES using ediff.

If you have a question, put $5 at patreon and message me.
Or Buy Xah Emacs Tutorial
Or buy JavaScript in Depth