I'd like to do a diff on the current file / buffer compared to the git repository.
Ideally a single function that could be called, or binded to a keyboard shortcut.
Emacs Stack Exchange is a question and answer site for those using, extending or developing Emacs. It only takes a minute to sign up.
Sign up to join this communityFirstly, make sure you're aware of https://stackoverflow.com/a/17799517
If you want a Magit diff buffer for the current file, you can call magit-diff-buffer-file
directly, or use the "diff" option (d) in magit-file-popup
. e.g.:
(global-set-key (kbd "C-c m d") 'magit-diff-buffer-file)
(global-set-key (kbd "C-c m f") 'magit-file-popup)
You can alternatively invoke vc-diff
with C-xv=
(spacemacs/set-leader-keys "gfd" 'magit-diff-buffer-file)
A convenient binding for spacemacs.
– Chris Stryczynski
Feb 7 '19 at 14:59
If you have ediff
set up properly (and you should! it's awesome), then you can use M-x ediff-revision
to run ediff
for the current file against any of its revisions in Git, or in whatever VC system you use.