การยกเลิกความผิดพลาดคอมไพล์


164

ฉันกำลังทำ git แบบไม่อัตโนมัติผ่านทางบรรทัดคำสั่ง ทุกอย่างเป็นไปด้วยดีจนกระทั่งฉันบังเอิญตีย้อนกลับไปที่บรรทัดผิดในประวัติคำสั่งของฉันและแทนที่จะเรียกใช้การทดสอบฉันรัน 'gis bisect good' (หรือไม่ดี) อุ๊ปส์ - ฉันยังไม่รู้ว่าการกระทำนี้ควรทำเครื่องหมายว่าดีหรือไม่ดี แต่นั่นคือสิ่งที่ฉันได้ทำไปแล้ว

ฉันสามารถยกเลิกคำสั่ง 'git bisect good' หรือทำให้ git ลืมผลลัพธ์ของมันและกลับไปทดสอบการกระทำนั้นได้หรือไม่?

คำตอบ:


206

จากเอกสารgit-bisect :

บันทึก Bisect และเล่นซ้ำ Bisect

หลังจากทำเครื่องหมายการแก้ไขว่าดีหรือไม่ดีให้ออกคำสั่งต่อไปนี้เพื่อแสดงสิ่งที่ได้ทำไปแล้ว:

$ git bisect log

หากคุณพบว่าคุณทำผิดพลาดในการระบุสถานะของการแก้ไขคุณสามารถบันทึกผลลัพธ์ของคำสั่งนี้ไปยังไฟล์แก้ไขเพื่อลบรายการที่ไม่ถูกต้องแล้วออกคำสั่งต่อไปนี้เพื่อกลับสู่สถานะที่แก้ไข:

$ git bisect reset
$ git bisect replay that-file

99

คุณสามารถส่งออกบันทึกสิ่งที่ทำโดยใช้

$ git bisect log > bisect.log

เปิดไฟล์นั้นในโปรแกรมแก้ไขและแก้ไข / ลบบรรทัดที่ผิดพลาด จากนั้นคุณสามารถเล่นซ้ำได้ด้วย

$ git bisect replay bisect.log

git help bisectนี้ถูกบันทึกไว้ใน


1
คุณต้องgit bisect resetระบุ @manojlds ด้วยหรือไม่?
โคลิน D

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