Wyświetl historię zmian pliku za pomocą funkcji obsługi wersji Git, omawia inne sposoby przeglądania historii pliku w Git.
Czy można to zrobić w Emacs Magit?
Wyświetl historię zmian pliku za pomocą funkcji obsługi wersji Git, omawia inne sposoby przeglądania historii pliku w Git.
Czy można to zrobić w Emacs Magit?
Odpowiedzi:
Od magit 2.1: magit-log-buffer-file
(zgodnie z komentarzem poniżej)
Przed Magit 2.1: magit-file-log
jest to, czego szukasz. Pokaże ci wszystkie zatwierdzenia dla pliku w bieżącym buforze w standardowym widoku dziennika magit.
magit-file-log
został przemianowany namagit-log-buffer-file
magit-log-buffer-file
nie ogranicza wyświetlania każdego zatwierdzenia tylko do tego pliku.
magit-log-buffer-file
a następnie uruchomienie magit-ediff-dwim
(powiązanego ze skrótem „e” w programie Spacemacs) na wybranym przez Ciebie zatwierdzeniu. Spowoduje to wyświetlenie okna z dwoma panelami z podświetlonymi zmianami.
l
, -u
oraz l
pomogą pomagit-log-buffer-file
Otwórz magit-status
bufor, wpisując M-x magit-status
(kiedyś miałem to związane, C-. C-g
ponieważ jest używane przez cały czas. Obecnie używam Spacemacs, więc tak jest <SPC> g s
)
l
aby uzyskać opcję przeglądania dziennika--
aby ustawić opcję „Ogranicz do plików” (wcześniej =f
)l
aby wyświetlić dziennik bieżącej gałęziJeśli używasz Spacemacs, możesz pobrać historię aktualnie odwiedzanego pliku za pomocą <SPC> g f h
--
( Magit 20200112.2023, Git 2.20.1, Emacs 26.1, gnu/linux
)
W swoim *magit: <project>*
buforze użyj, l
aby przejść do trybu logowania, a następnie naciśnij, f
aby wyświetlić monit o podanie nazwy pliku.
Jeśli magit ( instrukcja obsługi ) nie ma tej funkcji, możesz rzucić okiem na inny tryb Emacsa i dodać własną git-log-file
funkcję:
(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