ดูประวัติการเปลี่ยนแปลงของไฟล์โดยใช้การกำหนดเวอร์ชัน Gitพูดถึงวิธีอื่น ๆ ในการดูประวัติการเข้าชมไฟล์ใน Git
สามารถทำได้ใน Emacs Magit หรือไม่?
ดูประวัติการเปลี่ยนแปลงของไฟล์โดยใช้การกำหนดเวอร์ชัน Gitพูดถึงวิธีอื่น ๆ ในการดูประวัติการเข้าชมไฟล์ใน Git
สามารถทำได้ใน Emacs Magit หรือไม่?
คำตอบ:
ตั้งแต่ magit 2.1: magit-log-buffer-file
(ตามความคิดเห็นด้านล่าง)
Before 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
เพื่อขอชื่อไฟล์
ฉันไม่รู้วิธี ฉันแค่ใช้M-x vc-print-log
ที่ดูเหมือนจะบรรลุผลสำเร็จเดียวกัน แม้ว่ามันจะไม่ใช่วิธีที่รวมอำนาจไว้ด้วยกันก็ตาม
หาก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