คำสั่ง git บางคำรับพาเรนต์เป็นการแก้ไข อื่น ๆ (เช่นgit revert) เป็นหมายเลขพาเรนต์ วิธีรับผู้ปกครองทั้งสองกรณี ฉันไม่ต้องการใช้คำสั่งบันทึกแบบกราฟิกเพราะมักจะต้องเลื่อนต้นไม้ลงเพื่อค้นหาพาเรนต์ที่สอง
คำสั่ง git บางคำรับพาเรนต์เป็นการแก้ไข อื่น ๆ (เช่นgit revert) เป็นหมายเลขพาเรนต์ วิธีรับผู้ปกครองทั้งสองกรณี ฉันไม่ต้องการใช้คำสั่งบันทึกแบบกราฟิกเพราะมักจะต้องเลื่อนต้นไม้ลงเพื่อค้นหาพาเรนต์ที่สอง
คำตอบ:
ง่าย ๆ ที่git log <hash>เรียกว่าการรวมการกระทำแสดงให้เห็นว่าตัวย่อของผู้ปกครอง:
 $ git log -1 395f65d
 commit 395f65d438b13fb1fded88a330dc06c3b0951046
 Merge: 9901923 d28790d
 ...
git เอาต์พุตผู้ปกครองตามจำนวนของพวกเขา: แฮชแรก (ซ้ายสุด) ใช้สำหรับพาเรนต์แรกและอื่น ๆ
หากสิ่งที่คุณต้องการเป็นเพียงแค่แฮชตัวเลือกที่เทียบเท่าสองตัวคือ:
$ git log --pretty=%P -n 1 <commit>
$ git show -s --pretty=%P <commit>
git rev-list ยังสามารถแสดงแฮชของผู้ปกครองได้แม้ว่ามันจะแสดงรายการแฮชสำหรับการกระทำ:
$ git rev-list --parents -n 1 <commit>
หากคุณต้องการตรวจสอบผู้ปกครองคุณสามารถดูพวกเขาโดยตรงกับกะรัตเป็น<commit>^1และ<commit>^2เช่น:
git show <commit>^1
นี่เป็นการพูดคุย สำหรับผสานปลาหมึกคุณสามารถอ้างถึง n TH<commit>^nผู้ปกครองเป็น คุณสามารถอ้างถึงผู้ปกครองทุกคนด้วย<commit>^@แม้ว่าสิ่งนี้จะไม่ทำงานเมื่อจำเป็นต้องมีการมอบสิทธิ์ครั้งเดียว คำต่อท้ายเพิ่มเติมสามารถปรากฏขึ้นหลังจากที่ n THไวยากรณ์ปกครอง (เช่น<commit>^2^, <commit>^2^@) ในขณะที่พวกเขาไม่สามารถหลัง^@( <commit>^@^ไม่ถูกต้อง) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์นี้อ่านrev-parseman page
git logและgit showเอาท์พุทสิ่งที่แตกต่างกันมากเมื่อมีผู้ปกครองเพียงคนเดียว ชอบgit logถ้าคุณต้องการความมั่นคง
                    git (v2.17.1)คำตอบนี้ไม่ทำงานบนเครื่องของฉันกับอูบุนตู ฉันไม่เห็นMergeไฟล์ในgit log -1เอาต์พุต