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-logstato ribattezzatomagit-log-buffer-file
magit-log-buffer-filenon limita la visualizzazione di ogni commit solo a quel file.
magit-log-buffer-filee 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, -ue lcontribuiranno dopomagit-log-buffer-file
Apri il tuo magit-statusbuffer, digitando M-x magit-status(lo avevo associato a C-. C-gperché è 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)lper 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 lper entrare in modalità di registrazione, quindi premere fper 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-filefunzione:
(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