Перегляд історії змін файлу за допомогою версії Git розповідає про інші способи перегляду історії файлу в Git.
Чи можна це зробити в Emacs Magit?
Перегляд історії змін файлу за допомогою версії Git розповідає про інші способи перегляду історії файлу в Git.
Чи можна це зробити в Emacs Magit?
Відповіді:
З magit 2.1: magit-log-buffer-file
(згідно з коментарем нижче)
Перед magit 2.1: magit-file-log
це те, що ви шукаєте. Він покаже вам усі коміти для файлу в поточному буфері в стандартному поданні журналу Magit.
magit-file-log
було перейменовано наmagit-log-buffer-file
magit-log-buffer-file
не обмежує відображення кожного коміту лише цим файлом.
magit-log-buffer-file
а потім запустити magit-ediff-dwim
(прив'язаний до ярлика "e" у Spacemacs) за вибраним комітом. З’явиться вікно з двома панелями із виділеними змінами.
l
, -u
і l
допоможе післяmagit-log-buffer-file
Відкрийте ваш magit-status
буфер, набравши M-x magit-status
(раніше я це прив’язував, C-. C-g
оскільки він використовується весь час. Сьогодні я використовую Spacemacs, так це <SPC> g s
)
l
щоб отримати можливість перегляду журналу--
щоб встановити опцію "Обмеження до файлів" (раніше це було =f
)l
щоб переглянути журнал поточної гілкиЯкщо ви використовуєте Spacemacs, ви можете отримати історію поточно відвіданого файлу за допомогою <SPC> g f h
--
( Magit 20200112.2023, Git 2.20.1, Emacs 26.1, gnu/linux
)
У вашому *magit: <project>*
буфері l
перейдіть у режим ведення журналу, а потім натисніть, f
щоб з'явилося запит на ім'я файлу.
Якщо magit ( керівництво користувача ) не має цієї функції, тоді ви можете поглянути на інший режим Emacs і додати власну git-log-file
функцію:
(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