Просмотр истории изменений файла с помощью управления версиями 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