ฉันมีความมุ่งมั่นค ฉันต้องการได้รับเซ็ตการแก้ไขของค่าคอมมิชชัน c + metainformation ที่แน่นอนและไม่มีอันอื่น มีวิธีที่ง่ายกว่าgit log -p c^..c
การทำเช่นนั้น?
ฉันมีความมุ่งมั่นค ฉันต้องการได้รับเซ็ตการแก้ไขของค่าคอมมิชชัน c + metainformation ที่แน่นอนและไม่มีอันอื่น มีวิธีที่ง่ายกว่าgit log -p c^..c
การทำเช่นนั้น?
คำตอบ:
คุณสามารถใช้show
:
git show commit_id
คำตอบของ Michal Trybus นั้นดีที่สุดสำหรับความเรียบง่าย แต่ถ้าคุณไม่ต้องการ diff ในผลลัพธ์ของคุณคุณสามารถทำสิ่งต่าง ๆ เช่น:
git log -1 -U c
ที่จะให้บันทึกการกระทำและจากนั้นคุณจะสามารถควบคุมตัวเลือกการบันทึก git ทั้งหมดเพื่อวัตถุประสงค์อัตโนมัติของคุณ ในอินสแตนซ์ของคุณคุณบอกว่าคุณต้องการเปลี่ยนชุด วิธีที่มนุษย์สามารถอ่านได้มากที่สุดที่จะทำให้บรรลุผลนั่นคือ:
git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c
หรือถ้าคุณใช้เวอร์ชัน git มากกว่า 1.8.X มันจะเป็น:
git log --name-status --diff-filter="ACDMRT" -1 -U c
สิ่งนี้จะให้ผลลัพธ์ที่คล้ายกับคุณ:
commit {c}
Author: zedoo <zedoo@stackoverflow.com>
Date: Thu Aug 2 {time-stamp}
{short description}
D zedoo/foo.py
A zedoo/bar.py
แน่นอนคุณสามารถกรองแล้วแต่จำนวนใดกิจกรรมที่คุณเห็นพอดีและจัดรูปแบบผลตอบแทนตามที่คุณต้องการผ่านทางคำสั่งคอมไพล์เข้าสู่ระบบแบบดั้งเดิมซึ่งมีเอกสารดีที่นี่
git show -s <commit>
หากคุณเพียงแค่ไม่ต้องการที่แตกต่างการใช้
-1
ทำอย่างไร เอกสารอยู่ที่ไหน
git help log
ภายใต้หัวข้อ "การ จำกัด การยอมรับ" หรือดูgit-scm.com/book/en/v2/… -<number>
จำกัด จำนวนการส่งออก
git log -p c -1
ทำแค่นั้น
-n 1
หรือ--max-number=1
และเอกสารที่นี่
คุณสามารถใช้เพื่อกรองการเปลี่ยนแปลงตามคำอธิบายของการกระทำ:
git log --grep='part_of_description' -p
โดยที่git log --grep='part_of_description'
เลือกการกระทำที่มี 'part_of_description' และ-p
แสดงเซ็ตการแก้ไขของการส่งแต่ละรายการ
git show --name-only <sha1>
!