Xem lịch sử thay đổi của tệp bằng cách sử dụng lập phiên bản Git nói về các cách khác để xem lịch sử của tệp trong Git.
Nó có thể được thực hiện trong Emacs Magit?
Xem lịch sử thay đổi của tệp bằng cách sử dụng lập phiên bản Git nói về các cách khác để xem lịch sử của tệp trong Git.
Nó có thể được thực hiện trong Emacs Magit?
Câu trả lời:
Kể từ magit 2.1: magit-log-buffer-file
(theo bình luận bên dưới)
Before magit 2.1: magit-file-log
là thứ bạn đang tìm kiếm. Nó sẽ hiển thị cho bạn tất cả các cam kết cho tệp trong bộ đệm hiện tại trong chế độ xem nhật ký magit tiêu chuẩn.
magit-file-log
được đổi tên thànhmagit-log-buffer-file
magit-log-buffer-file
không hạn chế việc hiển thị từng cam kết chỉ với tệp đó.
magit-log-buffer-file
và sau đó chạy magit-ediff-dwim
(liên kết với phím tắt "e" trong Spacemacs) theo cam kết mà bạn chọn. Thao tác này sẽ hiển thị một cửa sổ có hai ngăn với các thay đổi được đánh dấu.
l
, -u
và l
sẽ giúp saumagit-log-buffer-file
Mở magit-status
bộ đệm của bạn bằng cách gõ M-x magit-status
(Tôi đã từng bị ràng buộc C-. C-g
bởi vì nó được sử dụng mọi lúc. Ngày nay, tôi sử dụng Spacemacs nên nó <SPC> g s
)
l
để nhận tùy chọn xem nhật ký--
để đặt tùy chọn "Giới hạn đối với tệp" (đã từng như vậy =f
)l
để xem nhật ký của chi nhánh hiện tạiNếu đang sử dụng Spacemacs, bạn có thể lấy lịch sử của tệp hiện đang truy cập bằng cách sử dụng <SPC> g f h
--
( Magit 20200112.2023, Git 2.20.1, Emacs 26.1, gnu/linux
)
Trong *magit: <project>*
bộ đệm của bạn, sử dụng l
để chuyển sang chế độ ghi nhật ký, sau đó nhấn f
để được nhắc nhập tên tệp.
Nếu magit ( hướng dẫn sử dụng ) không có tính năng đó, thì bạn có thể xem chế độ Emacs khác và thêm git-log-file
chức năng của riêng bạ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