วิธีการคอมไพล์บันทึกจากทุกสาขาสำหรับผู้เขียนในครั้งเดียว?


213

ฉันต้องได้รับรายงานทุกข้อผูกพันที่ผู้เขียนทำ จนถึงตอนนี้ฉันมีสคริปต์ที่ล้อมคำสั่งต่อไปนี้:

git log --pretty=format:"%ad:%an:%d:%B" --date=short --reverse --all --since=2.months.ago --author=Petr

มันใช้งานได้ดี อย่างไรก็ตามจะรายงานเฉพาะการกระทำสำหรับสาขาปัจจุบัน มีตัวเลือกใดบ้างที่จะบันทึกข้อความการส่งข้อความสำหรับผู้แต่งจากทุกสาขาไม่เพียง แต่สร้างฟอร์มปัจจุบันเท่านั้น?

กล่าวอีกนัยหนึ่งสามารถคอมไพล์ทำให้กลับเรียงลำดับ (ตามวันที่และเวลา) ของการกระทำทั้งหมดในพื้นที่เก็บข้อมูลและแยกข้อมูลบันทึกจากลำดับที่?

แก้ไขแล้ว: (คัดลอกมาจากความคิดเห็นด้านล่างที่ถูกซ่อนไว้เป็นอย่างอื่น)

ปัญหาคือฉันมีที่เก็บหนึ่งแห่งและที่เก็บโคลนสองแห่งเพื่อทำงานอย่างมั่นคงในสองสาขา ฉันผลักดันการเปลี่ยนแปลงไปยังที่เก็บต้นทาง แต่ฉันลืมเรียกการเปลี่ยนแปลงไปยังที่เก็บโคลน วิธีนี้ดูเหมือนว่า--allจะไม่ทำงานเมื่อใช้กับที่เก็บโคลน


เดาว่าคุณสามารถเขียนเชลล์สคริปต์สำหรับ: git logยอมรับcommittishเป็นอาร์กิวเมนต์แรก: git log mybranch(และแสดงรายการทั้งหมดที่คุณสาขาด้วยgit branch)
Alexander Pavlov

@AlexanderPavlov: ฉันอาจไม่เข้าใจ คือcommittishอะไร เป็นไปได้หรือไม่ที่จะรับข้อมูลผ่านคำสั่ง git เดียว?
pepr

1
ฉันได้รับมอบหมายจากทุกสาขาไม่ใช่แค่สาขาปัจจุบันเท่านั้น? --allนี้คาดว่าตั้งแต่ที่คุณให้ คำสั่งของคุณถูกต้อง
CharlesB

1
@AlexanderPavlov: ไม่รำคาญกับการgit rev-listแยกวิเคราะห์git log --allเป็นไร
CharlesB

1
@CharlesB: นั่นคือสิ่งที่ฉันคิดเกี่ยวกับการ--allแต่ดูเหมือนจะไม่ทำงานสำหรับฉัน ผมไม่เข้าใจคำอธิบายความช่วยเหลือของ: แกล้งเช่นถ้า refs ทั้งหมดในมีการระบุไว้ในบรรทัดคำสั่งเป็นrefs/ <commit>
pepr

คำตอบ:


186

คำสั่งของคุณถูกต้องเนื่องจากคุณใช้--allสวิตช์ที่ให้การกระทำทั้งหมดจากทุกสาขา เพื่อตอบคำถามในความคิดเห็นของคุณมันยังทำงานในที่เก็บเปลือย


64

แทนที่จะ--allคุณอาจต้องการที่จะใช้--branchesตั้งแต่--allยังรวมถึงและrefs/tagsrefs/remotes

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