Просмотрите историю изменений файла с помощью Git versioning, расскажите о других способах просмотра истории файла в Git.
Можно ли это сделать в Emacs Magit?
Просмотрите историю изменений файла с помощью Git versioning, расскажите о других способах просмотра истории файла в Git.
Можно ли это сделать в Emacs Magit?
Так как magit 2.1: magit-log-buffer-file
(как указано ниже)
Перед магитом 2.1: magit-file-log
- это то, что вы ищете. Он покажет вам все фиксации для файла в текущем буфере в стандартном представлении журнала magit.
Откройте ваш буфер magit-status
, набрав M-x magit-status
(я использовал эту привязку для C-. C-g
, потому что он используется все время. В наши дни я использую Spacemacs, чтобы он M-m g s
)
l
, чтобы получить возможность просмотра журнала.=f
, чтобы установить параметр "Ограничить файлы" l
, чтобы просмотреть журнал текущей веткиЕсли вы используете Spacemacs, вы можете получить историю текущего файла с помощью <SPC> g f h
В буфере *magit: <project>*
используйте l
, чтобы перейти в режим ведения журнала, затем нажмите f
для запроса имени файла.
Если magit (руководство пользователя) doesn У вас есть эта функция, вы можете посмотреть другой режим 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)))
Я не знаю пути. Я просто использую M-x vc-print-log
, который, похоже, выполняет тот же подвиг. Однако это не магический метод.