Visualizza la cronologia delle modifiche di un file utilizzando il controllo delle versioni di Git parla di altri modi di visualizzare la cronologia di un file in Git.
Può essere fatto in Emacs Magit?
Visualizza la cronologia delle modifiche di un file utilizzando il controllo delle versioni di Git parla di altri modi di visualizzare la cronologia di un file in Git.
Può essere fatto in Emacs Magit?
Risposte:
Da magit 2.1: magit-log-buffer-file
(come da commento sotto)
Prima di magit 2.1: magit-file-log
è quello che stai cercando. Ti mostrerà tutti i commit per il file nel buffer corrente nella visualizzazione standard del registro di magit.
magit-file-log
stato ribattezzatomagit-log-buffer-file
magit-log-buffer-file
non limita la visualizzazione di ogni commit solo a quel file.
magit-log-buffer-file
e quindi eseguire magit-ediff-dwim
(associato alla scorciatoia "e" in Spacemacs) sul commit di tua scelta. Questo mostrerà una finestra con due riquadri con le modifiche evidenziate.
l
, -u
e l
contribuiranno dopomagit-log-buffer-file
Apri il tuo magit-status
buffer, digitando M-x magit-status
(lo avevo associato a C-. C-g
perché è sempre usato. In questi giorni, uso Spacemacs quindi è <SPC> g s
)
l
per ottenere l'opzione di visualizzazione del registro--
per impostare l'opzione "Limita ai file" (una volta =f
)l
per visualizzare il registro del ramo correnteSe stai usando Spacemacs, puoi ottenere la cronologia del file attualmente visitato usando <SPC> g f h
--
( Magit 20200112.2023, Git 2.20.1, Emacs 26.1, gnu/linux
)
Nel *magit: <project>*
buffer utilizzare l
per entrare in modalità di registrazione, quindi premere f
per richiedere un nome file.
Se magit ( manuale utente ) non ha questa funzionalità, puoi dare un'occhiata alle altre modalità di Emacs e aggiungere la tua git-log-file
funzione:
(defun git-log-file ()
"Display a log of changes to the marked file(s)."
(interactive)
(let* ((files (git-marked-files))
(buffer (apply #'git-run-command-buffer "*git-log*" "git-rev-list" \
"--pretty" "HEAD" "--" (git-get-filenames files)))) (with-current-buffer buffer
; (git-log-mode) FIXME: implement log mode
(goto-char (point-min))
(setq buffer-read-only t))
(display-buffer buffer)))
C-x v l
Symbol’s function definition is void: git-marked-files