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.

  1. Firstly, make sure you're aware of https://stackoverflow.com/a/17799517

  2. 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)
  3. You can alternatively invoke vc-diff with C-xv=

| improve this answer | |
  • (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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.