คำสั่ง git-reflog ไม่ได้แสดงวันที่อยู่ข้างๆแต่ละรายการเป็นค่าเริ่มต้น ฉันคิดว่ามันจะมีประโยชน์มาก
มีตัวเลือกบรรทัดคำสั่งหรือการปรับแต่งอื่น ๆ ซึ่งสามารถใช้เพื่อให้แสดงเมื่อมีการเพิ่มแต่ละรายการ reflog? manpageไม่ได้เตรียมพร้อม ...
คำสั่ง git-reflog ไม่ได้แสดงวันที่อยู่ข้างๆแต่ละรายการเป็นค่าเริ่มต้น ฉันคิดว่ามันจะมีประโยชน์มาก
มีตัวเลือกบรรทัดคำสั่งหรือการปรับแต่งอื่น ๆ ซึ่งสามารถใช้เพื่อให้แสดงเมื่อมีการเพิ่มแต่ละรายการ reflog? manpageไม่ได้เตรียมพร้อม ...
คำตอบ:
ในฐานะที่เป็นหน้าคนเขียนคุณสามารถใช้ตัวเลือกสำหรับgit log
พูดgit reflog --pretty=short
หรืออื่น ๆ ตามที่คุณต้องการ
ลอง
git reflog --date=iso
git reflog --format='%C(auto)%h %<|(17)%gd %C(blue)%ci%C(reset) %s'
ดูเหมือนว่าคุณจะต้องมีการใช้รูปแบบที่กำหนดเอง: ฉันได้เพิ่มชื่อแทนสำหรับสิ่งนี้: github.com/blueyed/dotfiles/commit/…
--date=iso
ในคำสั่ง reflog จะแสดงเมื่อสร้างรายการ reflog นั้นไม่ใช่ช่วงเวลาของการส่งคำสั่ง ยังคงชื่นชมนามแฝงของคุณเนื่องจากฉันเคยใช้มันเพื่อสร้าง reflog ที่สวยขึ้น
คุณสามารถใช้--walk-reflogs
ตัวแปรของgit log
:
git log -g
สิ่งนี้ค่อนข้างละเอียดโดยค่าเริ่มต้นและพิมพ์วันที่ท่ามกลางสิ่งอื่น ๆ คุณสามารถจัดรูปแบบด้วยค่า--pretty=
สถานะมาตรฐาน
คุณยังสามารถใช้คำสั่ง reflog โดยตรงกับ--pretty=
แฟล็กเพื่อจัดรูปแบบเอาต์พุต
git reflog --pretty='%cd %h %gd %gs'
ในรูปแบบข้างต้น%cd
แสดงวันที่ส่งมอบทางด้านซ้ายของเอาต์พุต reflog ปกติ
%cd
, แสดงวันที่ที่คอมมิชชันชี้ไปที่ซึ่งไม่ใช่สิ่งที่ฉัน (หรือ OP) เป็นหลังจาก: เราต้องการวันที่ของรายการ reflog
git log --walk-reflogs --date=iso
เพิ่งทำวันของฉัน
คุณต้องใช้รูปแบบที่กำหนดเอง:
git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
ในรูปแบบข้างต้น%h
คือแฮชการคอมมิชชัน%cr
คือวันที่คอมมิทเตอร์สัมพันธ์%gs
คือหัวเรื่องการอ้างถึงและ%s
เป็นหัวเรื่องการยอมรับ ดูเอกสาร git-logเพื่อหาตัวแทนที่เป็นไปได้อื่น ๆ ตัวอย่างเช่นการใช้%ci
แทน%cr
จะแสดงวันที่กระทำแน่นอน
คุณสามารถบันทึกสิ่งนี้ไว้ใน ~ / .gitconfig โดยใช้pretty
รูปแบบที่กำหนดเองและอ้างอิงผ่านนามแฝง:
[alias]
rl = reflog --pretty=reflog
[pretty]
reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)
%gd
ไม่แสดงวันที่เหมือน@{now}
กัน เมื่อค้นหา reflog การรู้เวลาที่แน่นอนนั้นสำคัญมาก (ตัวอย่างเช่นฉันรู้ว่ามันอยู่ในสถานะที่ถูกต้องที่ 8:57 ")
cr
เพื่อci
ให้ได้บันทึกเวลาเต็มรูปแบบของแต่ละการกระทำ:git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%ci%C(reset) %gs (%s)'
บอกgit
ในรูปแบบที่reflog
รายการที่นับหรือreflog
รายการที่กำหนดเวลาเช่น
$ git reflog @{now}
$ git reflog @{0}
{}
--date=iso
หมายเหตุ Git 2.10 (Q3 2016) git reflog
ปรับปรุงเอกสารเกี่ยวกับวันที่มี
ดูกระทำ 642833d , กระทำ 1a2a1e8 (27 กรกฎาคม 2016) และกระทำ d38c7b2 , กระทำ 522259d , กระทำ 83c9f95 , กระทำ 2b68222 (22 กรกฎาคม 2016) โดยเจฟฟ์คิง (peff
)
ช่วยโดย: เจฟฟ์คิง (peff
)
(รวมโดยJunio C Hamano - gitster
-ในการกระทำ 0d32799 , 8 สิงหาคม 2016)
rev-list
ตัวเลือกมีการปรับปรุง :
ผู้ออกแบบ reflog ในผลลัพธ์อาจแสดงเป็น
ref@{Nth}
(โดยที่Nth
ดัชนีย้อนกลับตามลำดับเวลาใน reflog) หรือเป็นref@{timestamp}
(ด้วยการประทับเวลาสำหรับรายการนั้น) ขึ้นอยู่กับกฎไม่กี่
มันรวมถึง : - การปรับปรุงเกี่ยวกับ--date=raw
:
แสดงวันที่เป็นวินาทีตั้งแต่ยุค (1970-01-01 00:00:00 UTC) ตามด้วยช่องว่างจากนั้นเขตเวลาเป็นออฟเซ็ตจาก UTC (
+
หรือ-
ด้วยตัวเลขสี่หลักสองคนแรกคือชั่วโมงและ สองวินาทีคือนาที)
เช่นราวกับว่าเวลาที่จัดรูปแบบด้วยstrftime("%s %z")
)
โปรดทราบว่า-local
ตัวเลือกจะไม่ส่งผลกระทบต่อseconds-since-epoch
ค่า (ซึ่งวัดได้เสมอใน UTC) แต่จะเปลี่ยนค่าของเขตเวลาประกอบ
และตัวเลือกใหม่: --date=unix
แสดงวันที่ในรูปแบบ Unix epoch timestamp (วินาทีตั้งแต่ 1970)
เช่น--raw
นี้จะเป็น UTC เสมอดังนั้นจึง-local
ไม่มีผลกระทบใด ๆ