ดูประวัติการเปลี่ยนแปลงของไฟล์โดยใช้การกำหนดเวอร์ชัน 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