บ่อยครั้งระหว่างการกระทำ ( $ git -commit -m "") ฉันต้องการอ่านความคิดเห็นสุดท้ายของฉันเพื่อจดจำความคืบหน้าของฉัน มีวิธีง่าย ๆ ในการเข้าถึงข้อความการส่งข้อความครั้งสุดท้ายโดยตรงผ่าน command-line หรือไม่? (ฉันใช้ Windows)
บ่อยครั้งระหว่างการกระทำ ( $ git -commit -m "") ฉันต้องการอ่านความคิดเห็นสุดท้ายของฉันเพื่อจดจำความคืบหน้าของฉัน มีวิธีง่าย ๆ ในการเข้าถึงข้อความการส่งข้อความครั้งสุดท้ายโดยตรงผ่าน command-line หรือไม่? (ฉันใช้ Windows)
คำตอบ:
git show
เป็นประเภทที่เร็วที่สุด แต่แสดงให้คุณเห็นความแตกต่างเช่นกัน
git log -1
รวดเร็วและง่าย
git log -1 --pretty=%B
หากคุณต้องการเพียงข้อความยืนยันและไม่มีอะไรอื่น
git log -1 --pretty=%B | catแต่ตามที่ Peter กล่าวไว้คุณควรพยายามเก็บไว้ที่ 80 ตัวอักษร
cat :git log -1 --pretty= | cat
format:<string>)
format:คำนำหน้าไป%Bตามข้อเสนอแนะในมนุษย์เอกสารมันเคยชินแสดงบรรทัดว่างพิเศษในตอนท้ายของการส่งออก:git log -1 --pretty=format:%B
โดยทั่วไป:
git log -n
จะแสดงnข้อความการส่งข้อความล่าสุด
หรูหรากว่า - หากคุณต้องการภาพรวมคร่าวๆ
git log --oneline -n
นี่จะแสดงบรรทัดแรกของnข้อความคอมมิทล่าสุด
คุณสามารถบันทึกสิ่งนี้เป็นนามแฝงคอมไพล์หรือนามแฝงเชลล์ด้วยคำสั่งที่สั้นลง ผมเคยได้รับมันในเปลือกของฉันเป็นglogตัวอย่างเช่นและฉันสามารถดูข้อความของฉันเมื่อ 10 glog -10กระทำด้วย
git log -1จะแสดงข้อความการส่งข้อความล่าสุดหรือgit log -1 --onelineหากคุณต้องการให้ sha1 และข้อความการส่งข้อความที่เกี่ยวข้องแสดงขึ้นเท่านั้น
คุณสามารถใช้ได้
git show -s --format=%s
ที่นี่--formatจะช่วยให้ตัวเลือกการพิมพ์ต่าง ๆ ดูเอกสารที่นี่ โดยเฉพาะ%sหมายถึง 'เรื่อง' นอกจากนี้-sย่อมาจาก--no-patchซึ่งระงับเนื้อหาต่าง
ฉันมักจะใช้
git show -s --format='%h %s'
ซึ่ง%hหมายถึงแฮชสั้น ๆ ของการกระทำ
อีกวิธีคือ
git show-branch --no-name HEAD
ดูเหมือนว่าจะทำงานได้เร็วกว่าวิธีอื่น
ฉันเขียนเครื่องมือเล็ก ๆ เพื่อดูสถานะของ repos ทั้งหมดของฉัน คุณสามารถค้นหาได้ในGitHub
git show -s --format=%s -5
git log -1 branch_name จะแสดงข้อความล่าสุดจากสาขาที่ระบุ (เช่นไม่จำเป็นต้องเป็นสาขาที่คุณเปิดอยู่)
สำหรับสิ่งที่อ่านได้มากกว่านี้ให้รันคำสั่งนี้หนึ่งครั้ง:
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
ดังนั้นเมื่อคุณเรียกใช้แล้ว:
git lg
คุณได้รับการอ่านที่ดี หากต้องการแสดงเฉพาะบรรทัดสุดท้าย:
git lg -1
วิธีแก้ปัญหาพบได้ที่นี่
จะเริ่มต้นด้วย git log -1 --pretty='%s'
แต่ด้านล่างหนึ่งครอบคลุมทุกกรณี
git log --pretty='format:%Creset%s' --no-merges -1
วางและดูด้วยตัวคุณเอง
ฉันทำอย่างนี้
git reflog -1 | sed 's/^.*: //'
ฉันเพิ่งพบวิธีแก้ปัญหาด้วยเชลล์โดยเรียกคำสั่งก่อนหน้า
กดCtrl-R เพื่อแสดงคำสั่ง reverse search:
reverse-i-search
จากนั้นเริ่มพิมพ์git commit -mสิ่งนี้จะเพิ่มสิ่งนี้เป็นคำสั่งค้นหาและสิ่งนี้จะทำให้คอมไพล์ก่อนหน้านี้คอมมิทด้วยข้อความ:
reverse-i-search`git commit -m`: git commit -m "message"
เข้าสู่ แค่นั้นแหละ!
(ทดสอบในเชลล์ Ubuntu)
alias(เช่นwherewasi;-) สำหรับโซลูชัน / บรรทัดคำสั่งที่คุณเลือก คุณสามารถรวมข้อมูลสาขาได้เช่นกัน