O emacs tem suporte embutido para o git. Se você está usando uma versão antiga do emacs (digamos 22.1), você pode querer instalar o plugin 'magit'. Eu gosto de usar magit em qualquer versão, uma vez que é muito melhor do que o genérico inbuilt.
aqui estão algumas ligações de chaves geradas (obtidas pressionando C-x v C-h em um diretório do git repo)
Global Bindings Starting With C-x v:
key binding
--- -------
C-x v + vc-update
C-x v = vc-diff
C-x v D vc-root-diff
C-x v I vc-log-incoming
C-x v L vc-print-root-log
C-x v O vc-log-outgoing
C-x v a vc-update-change-log
C-x v b vc-switch-backend
C-x v c vc-rollback
C-x v d vc-dir
C-x v g vc-annotate
C-x v h vc-insert-headers
C-x v i vc-register
C-x v l vc-print-log
C-x v m vc-merge
C-x v r vc-retrieve-tag
C-x v s vc-create-tag
C-x v u vc-revert
C-x v v vc-next-action
C-x v ~ vc-revision-other-window