สรุปการเปลี่ยนแปลง (การแทรกและการลบ) ใน Git [ปิด]


47

ฉันต้องการดูว่าฐานรหัสของฉันเติบโตขึ้นอย่างไรเมื่อเวลาผ่านไป GitHub มี+/-จอแสดงผลที่ดีตามรายการเช็คอินซึ่งให้ความรู้สึกเช่นนี้ มีสิ่งที่คล้ายกันที่ฉันสามารถใช้กับ repo ที่โฮสต์โดย Google Code หรือออฟไลน์ได้หรือไม่


1
ฉันโหวตให้ปิดคำถามนี้เป็นนอกหัวข้อเนื่องจากการใช้เครื่องมือเฉพาะสำหรับการพัฒนาซอฟต์แวร์ คำถามเหล่านี้อยู่ใน Stack Overflow แต่คำถามนี้เก่าเกินไปที่จะโยกย้าย
Thomas Owens

คำตอบ:


71

Git มีตัวเลือกอยู่สองสามทางในการรับข้อมูลเกี่ยวกับการเปลี่ยนแปลง

git log --stat จะแสดงจำนวนเงินที่แต่ละไฟล์มีการเปลี่ยนแปลง

git whatchanged ให้รายละเอียดบางอย่างลงในไฟล์ที่ถูกแก้ไข

git diff --stat <sha1> <sha2> ให้ไฟล์และจำนวนการเปลี่ยนแปลงระหว่างสองคอมมิต

มีบล็อกอื่น ๆ อีกมากมายที่ให้บันทึกการจัดรูปแบบต่างๆ การค้นหา google สามารถชี้ให้คุณเห็นสิ่งเหล่านี้ การทำเช่นgit log --helpนั้นจะให้ตัวเลือกต่าง ๆ สำหรับการจัดรูปแบบประวัติของ repo ของคุณ Git มีความสามารถในการให้ข้อมูลกับคุณผ่านlogตัวเลือกบรรทัดคำสั่งต่าง ๆ(การกรองตามผู้แต่งไฟล์ ฯลฯ )


6
สวย! ขอบคุณ ตอนนี้ฉันก็เห็น--numstatรูปแบบทางเลือกที่หวานน้อย แต่สะอาด
Potatoswatter

18
--shortstatจะพิมพ์ผลรวมออกไป
casey

1
โปรดทราบว่าgit diff --stat <sha1> <sha2>ไม่รวมการแทรกและการลบ<sha1>ดังนั้นคุณจะต้องใส่ความshaมุ่งมั่นก่อนที่<sha1>จะรวม<sha1>
Vaibhav Vishal

18

ถ้าคุณรู้ว่ากระทำที่คุณต้องการที่จะเปรียบเทียบคุณอาจลองใช้คำสั่งที่มีการโต้แย้ง มันให้ผลลัพธ์เช่นนี้git diff--stat

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)

2
รักตัวอย่างที่เหมาะกับกรณีส่วนใหญ่เสมอ (HEAD - 1) แทนที่จะเป็นนามธรรม ขอบคุณไมค์!
SimplGy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.