คำตอบ:
มีหลายตัวเลือกในการพิมพ์วันที่ อาจเป็นวิธีที่ง่ายที่สุดคือใช้--pretty
รูปแบบสำเร็จรูปรูปแบบใดรูปแบบหนึ่งเช่นgit log --pretty=fuller
ซึ่งจะแสดงวันที่ทั้งสอง หากคุณต้องการที่จะเห็นเพียงวันเดียว git log --format=<some stuff>
แต่ทำให้มันกระทำวันที่คุณสามารถใช้ ทุกรหัสที่อนุญาตgit help log
สำหรับการกำหนดรูปแบบการบันทึกไว้ใน วันที่กระทำการเป็นหนึ่ง%cd
, %cD
, %cr
, %ct
หรือ%ci
ขึ้นอยู่กับรูปแบบที่คุณชอบมันใน
หากเป็นสิ่งที่คุณต้องการทำบ่อยๆให้ใส่นามแฝงหรือเขียนสคริปต์เสริมเพื่อประหยัดเวลาพิมพ์
คุณสามารถใช้--pretty=format
และใช้%cr
สำหรับวันที่ที่สัมพันธ์กัน
ตัวอย่างเช่น:
$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'
คุณสามารถกำหนดนามแฝงใน git เพื่อให้ใช้งานได้ง่ายขึ้น ฉันมีสิ่งต่อไปนี้ใน.gitconfig
:
[alias]
# see `git help log` for detailed help.
# %h: abbreviated commit hash
# %d: ref names, like the --decorate option of git-log(1)
# %cn: commiter name
# %ce: committer email
# %cr: committer date, relative
# %ci: committer date, ISO 8601-like format
# %an: author name
# %ae: author email
# %ar: author date, relative
# %ai: author date, ISO 8601-like format
# %s: subject
# my awesome git log replacement
lol = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s\"
# same as above, but ISO date
lold = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%ci)%Creset %C(green)%cn <%ce>%Creset %s\"
# using build-in standards
lol2 = log --oneline --graph --decorate
# shows branches and their last commits
lol3 = log --all --graph --decorate --oneline --simplify-by-decoration
บน Linux หรือระบบที่คล้ายกันคุณสามารถใช้ single-quotes '
แทน double-quotes "
:
[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'
ด้วยสิ่งนี้เพียงแค่เรียกใช้git lol
หรือตัวแปรอื่น ๆ เพื่อดูผลลัพธ์ที่สวยงาม
นี่คือผลลัพธ์ของgit lol --simplify-by-decoration
:
lol
พิมพ์ง่ายกว่าlog
และฟังดูดีกว่าด้วย
git log
หากคุณต้องการนี่คือผลลัพธ์ของgit lold
วันที่ในรูปแบบ ISO มีประโยชน์ในการดูวันที่ / เวลาที่แน่นอนที่มีการคอมมิตพร้อมโบนัสที่สามารถดูเขตเวลาของผู้ร่วมให้ข้อมูลได้อย่างง่ายดาย
แก้ไข 2020-06 : เพิ่มภาพหน้าจอ อัปเดตเพื่อใช้%C(auto)
(สีอัตโนมัติ / เริ่มต้น) สำหรับ%h
(คอมมิตแฮช) และ%d
(ชื่ออ้างอิง) เพิ่ม%cn
(ชื่อคอมมิเตอร์) นอกเหนือจากอีเมล
git log --graph --pretty=format:\"%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset %C(cyan)(%cr)%Creset %C(green)%ce%Creset %s\"
bash: ข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด `('
ฉันชอบรูปแบบนี้ไม่รวมชื่อผู้แต่งและรวมวันที่จริงสำหรับการคอมมิต
git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset %C(green)%Creset %s" --date=short
git show --pretty=fuller HEAD
ตัวอย่าง) สำหรับการพัฒนาท้องถิ่นสิ่งเหล่านี้มักจะเหมือนกัน แต่สำหรับแพตช์ที่เพิ่มผ่านอีเมลหรือกลไกอื่น ๆ อาจแตกต่างกันโดยที่ AuthorDate คือวันที่สร้างแพตช์และ CommitDate เป็นเวลาที่ถูกนำไปใช้กับที่เก็บจริง