ในฐานะผู้ใช้ Git ฉันมักจะเจอสถานการณ์นี้เป็นประจำ โดยฉันต้องแก้ไขการคอมมิตอย่างน้อย 1 รายการในลักษณะที่ไม่เหมาะกับ --amend
หรือ rebase -i
ที่มีการคอมมิตการแก้ไข โดยปกติแล้วฉันจะทำอะไรบางอย่างเช่น
git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?
ฉันถือว่าข้อความคอมมิตที่สมเหตุสมผลค่อนข้างจริงจัง โดยทั่วไปจะมีข้อความขนาดใหญ่พร้อมข้อมูลอ้างอิงและเหตุผลสำหรับการเปลี่ยนแปลง จนถึงตอนนี้ ฉันค่อนข้างรำคาญกับกระบวนการที่ใช้เวลานานในการกู้คืนข้อความคอมมิตเก่าของฉันผ่านกระบวนการ git reflog
, git log
และคัดลอกและวางที่ไม่เรียงลำดับ
มีดีกว่าที่จะแก้ไขปัญหานี้หรือไม่? และจะเป็นอย่างไรหากของฉันประกอบด้วยมากกว่าหนึ่งคอมมิต?
แก้ไข: หลังจากคิดอยู่สักพัก ฉันคิดว่าสิ่งที่ฉันกำลังมองหาคือฟังก์ชันที่คล้ายกับ git stash สำหรับข้อความคอมมิตที่การแก้ไข/แก้ไขคอมมิตไม่เหมาะสม
git reset head~1
ข้อความยืนยันเก่าของคุณจะไม่เป็นเพียงรายการที่สองในreflog
หรือไม่ - person   schedule 31.05.2013gitk
เปิด ด้วยวิธีนี้คุณจะไม่ต้องใช้ reflog ด้วยซ้ำ หรือใช้rev-parse <branch>
เพื่อรับแฮชของคุณก่อนทำการรีเซ็ต และใช้คำตอบของ ibizaman - person cst1992   schedule 18.11.2016