Ver el historial de cambios de un archivo usando el control de versiones de Git habla sobre otras formas de ver el historial de un archivo en Git.
¿Se puede hacer en Emacs Magit?
Ver el historial de cambios de un archivo usando el control de versiones de Git habla sobre otras formas de ver el historial de un archivo en Git.
¿Se puede hacer en Emacs Magit?
Respuestas:
Desde magit 2.1: magit-log-buffer-file
(según el comentario a continuación)
Antes de magit 2.1: magit-file-log
es lo que estás buscando. Le mostrará todas las confirmaciones para el archivo en el búfer actual en la vista estándar de registro de magit.
magit-file-log
pasó a llamarsemagit-log-buffer-file
magit-log-buffer-file
no restringe la visualización de cada confirmación solo a ese archivo.
magit-log-buffer-file
y luego ejecutar magit-ediff-dwim
(enlazado al acceso directo "e" en Spacemacs) en la confirmación de su elección. Esto mostrará una ventana con dos paneles con cambios resaltados.
l
, -u
y l
ayudarán despuésmagit-log-buffer-file
Abra su magit-status
búfer, escribiendo M-x magit-status
(solía tener esto vinculado C-. C-g
porque se usa todo el tiempo. En estos días, uso Spacemacs, por lo que es <SPC> g s
)
l
para obtener la opción de visualización de registros--
para establecer la opción "Límite de archivos" (solía ser =f
)l
para ver el registro de la rama actualSi está usando Spacemacs, puede obtener el historial del archivo visitado actualmente usando <SPC> g f h
--
( Magit 20200112.2023, Git 2.20.1, Emacs 26.1, gnu/linux
)
En su *magit: <project>*
búfer, use l
para entrar en modo de registro, luego presione f
para que se le solicite un nombre de archivo.
Si magit ( manual de usuario ) no tiene esa característica, entonces puede echar un vistazo a otro modo de Emacs y agregar su propia git-log-file
función:
(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