เป็นไปได้ไหมที่จะแสดงรายชื่อผู้ใช้ทั้งหมดที่มีส่วนร่วมในโครงการ (ผู้ใช้ที่ได้ทำสัญญาไว้) ใน Git?
สถิติเพิ่มเติมใด ๆ
เป็นไปได้ไหมที่จะแสดงรายชื่อผู้ใช้ทั้งหมดที่มีส่วนร่วมในโครงการ (ผู้ใช้ที่ได้ทำสัญญาไว้) ใน Git?
สถิติเพิ่มเติมใด ๆ
คำตอบ:
วิธีแสดงผู้ใช้และอีเมลทั้งหมดและจำนวนการกระทำในสาขาปัจจุบัน:
git shortlog --summary --numbered --email
หรือเพียงแค่:
git shortlog -sne
ในการแสดงผู้ใช้จากทุกสาขา (ไม่ใช่เฉพาะในสาขาปัจจุบัน) คุณต้องเพิ่มการ--allตั้งค่าสถานะ:
git shortlog -sne --all
-eที่จะได้รับที่อยู่อีเมลเช่นกันเพิ่ม
--allตั้งค่า
git shortlog --summary --numbered <pathToFile>
หากคุณต้องการเฉพาะเจาะจงมากขึ้นในรายการ (ค้นหารายชื่อผู้ส่งและผู้เขียนเฉพาะ) คุณสามารถใช้git log:
git log --pretty="%an %ae%n%cn %ce" | sort | uniq
%an ชื่อผู้แต่ง%ae อีเมลผู้แต่ง%n บรรทัดใหม่%cn ชื่อผู้เดินทาง%ce อีเมลผู้ส่งตัวยึดตำแหน่งอื่น ๆ ที่อธิบายไว้ในเอกสารการพิมพ์สวยgit log
%nมันไม่สมเหตุสมผลมากเมื่อรวมกับ (อิงตามบรรทัด) sortใช่ไหม? บรรทัดบันทึกชื่อผู้แต่ง / ผู้ส่ง / อีเมลในบรรทัดแยกกัน แต่เรียงลำดับเอาท์พุททั้งหมด ...
คุณสามารถลองสิ่งนี้:
git log | grep Author: | sort | uniq
(ผู้ใช้ที่ได้กระทำไปแล้ว)
หมายเหตุ: โดยค่าเริ่มต้นgit shortlogกลุ่มกระทำโดยผู้เขียน
หากคุณต้องการจัดกลุ่มโดยผู้มอบหมายคุณจะต้องใช้ Git 2.12 (ไตรมาสที่ 1 ปี 2560)
git shortlog -snc
ดูกระทำ 03f4082 (16 ธันวาคม 2016) โดยเจฟฟ์คิง (peff )
ดูกระทำ fbfda15 (11 ตุลาคม 2016) โดยLinus Torvalds (torvalds )
(ผสานโดยJunio C Hamano - gitster- in ad1b4e2 , 27 Dec 2016)
Linus Torvalds แนะนำคุณสมบัตินี้:
shortlog: จัดกลุ่มตามข้อมูลผู้ส่งในบางสถานการณ์คุณอาจต้องการจัดกลุ่มการคอมมิทไม่ใช่โดยผู้แต่ง แต่โดยคอมมิชชันแทน
ตัวอย่างเช่นเมื่อฉันแค่ต้องการค้นหาสิ่งที่ฉันยังขาดหายไปจาก
linux-nextหน้าต่างผสานปัจจุบันฉันไม่สนใจเลยว่าใครเขียนแพทช์เหมือนที่git treeมาจากซึ่งโดยทั่วไปแล้วจะเดือดลงไป "ผู้ที่มุ่งมั่น มัน".ดังนั้นทำให้ shortit คอมไพล์ใช้ตัวเลือก "
-c" หรือ "--committer" เพื่อสลับการจัดกลุ่มไปที่
ตัวเลือกอื่นสามารถ:
git log --format='%aN' | sort -u
ฉันยังไม่ได้ทำการทดสอบด้วยตัวเอง แต่สิ่งนี้ดูดีมากสำหรับสถิติโครงการสำหรับที่เก็บ Git: https://github.com/visionmedia/git-extras
ตรวจสอบbinแคตตาล็อกเพื่อดูสคริปต์ที่แตกต่างกัน
ตัวอย่างเช่นgit-countสคริปต์ (ส่งนับการกระทำต่อคอมมิชชัน):
git shortlog -n $@ | grep "):" | sed 's|:||'
คำตอบที่ยอดเยี่ยมโดย @ pedro-nascimento โดย @mic_e และคนอื่น ๆ แก้ปัญหาแล้ว
นอกจากนี้คุณสามารถเพิ่มบรรทัดต่อไปนี้ใน .gitconfig
contributors = shortlog -e --summary --numbered
หรือในประเภทเปลือก
git config --global alias.contributors 'shortlog -e --summary --numbered'
และหลังจากนั้นคุณสามารถเรียกใช้: git contributors
git contributors
คุณสามารถลองชุดที่น่าตื่นตาตื่นใจที่เรียกว่าคอมไพล์-พิเศษ โดยเฉพาะคำสั่งgit สรุป , คอมไพล์นับและบางทีบางคนอื่น ๆ
git shortlog -sn HEAD