Contact
Line : comsiam
Contact
Line : comsiam

ถ้า Claude Code แก้ไฟล์ผิดหรือทำให้โค้ดเสีย ให้ตรวจ Diff ก่อน แล้วเลือกย้อนเฉพาะการแก้ที่ต้องการ วิธีที่เหมาะขึ้นอยู่กับว่าเป็นการแก้ในเซสชันปัจจุบัน การเปลี่ยนแปลงจากคำสั่ง Shell หรือการแก้ที่ Commit เข้า Git ไปแล้ว
ก่อนย้อนกลับ ควรตรวจสถานะ Git และไฟล์ที่เปลี่ยน เพื่อไม่ให้เผลอลบงานอื่นที่ยังต้องการเก็บไว้
ใน Claude Code ใช้คำสั่ง:
/diff
คำสั่งนี้เปิดดูการเปลี่ยนแปลงที่ยังไม่ได้ Commit และ Diff แยกตามรอบการทำงาน จากนั้นตรวจด้วย Git ได้อีกทาง:
git status
git diff
หากมีการแก้ไฟล์อื่นที่ต้องการเก็บไว้ ให้จดชื่อไฟล์เหล่านั้นก่อนย้อนกลับ
/rewindClaude Code สร้าง Checkpoint อัตโนมัติก่อนเริ่มแต่ละรอบคำสั่ง หากต้องการกลับไปก่อนที่ Claude จะแก้ผิด ให้พิมพ์:
/rewind
หรือกด Esc สองครั้งขณะที่ช่องพิมพ์ว่าง จากนั้นเลือกจุดก่อนเกิดปัญหา แล้วเลือกวิธีคืนค่าที่ต้องการ:
เลือกจุดให้รอบคอบ เพราะการคืนโค้ดจะย้อนการแก้ที่เกิดหลัง Checkpoint นั้น ไม่ได้เลือกย้อนเฉพาะบรรทัดที่ผิดเสมอไป
Esc สองครั้งแล้วไม่เห็นเมนูเมนู Rewind จะเปิดเมื่อช่องพิมพ์ว่างเท่านั้น หากมีข้อความค้างอยู่ การกด Esc สองครั้งจะล้างข้อความในช่องแทน ให้กดลูกศรขึ้นเพื่อเรียกข้อความที่ล้างกลับมา แล้วลองเปิด /rewind ใหม่เมื่อช่องพิมพ์ว่าง
ถ้าต้องการคืนไฟล์เพียงไฟล์เดียว ให้ตรวจ Diff ของไฟล์นั้นก่อน แล้วค่อยคืนเฉพาะไฟล์ที่ยืนยันแล้วว่าไม่ต้องการเก็บ เช่น:
git diff -- path/to/file
git restore -- path/to/file
คำสั่ง git restore จะทิ้งการเปลี่ยนแปลงที่ยังไม่ Commit ในไฟล์ที่ระบุ จึงไม่ควรใช้กับไฟล์ที่ยังมีงานอื่นที่ต้องการเก็บ หากไม่แน่ใจ ให้สำรองไฟล์หรือสร้าง Commit ก่อน
หลีกเลี่ยงการใช้คำสั่งคืนค่าทั้ง Repository โดยไม่ตรวจสถานะก่อน เพราะอาจลบการเปลี่ยนแปลงอื่นที่ไม่เกี่ยวกับ Claude Code
การ Rewind ใช้สำหรับย้อนจุดในเซสชันและไฟล์ที่ยังอยู่ในช่วง Checkpoint หาก Commit การแก้ผิดไปแล้ว วิธีที่ปลอดภัยกว่าคือใช้ git revert เพื่อสร้าง Commit ใหม่ที่ย้อนผลของ Commit เดิม โดยยังคงประวัติ Git ไว้
ก่อนทำ ให้ตรวจว่า Commit ที่ต้องการย้อนคือรายการใด และตรวจว่าการย้อนจะไม่ทับงานของผู้อื่น โดยเฉพาะ Repository ที่ทำงานร่วมกัน
/rewind ติดตามการแก้ไฟล์ที่ Claude ทำผ่านเครื่องมือแก้ไฟล์ของ Claude Code แต่มีข้อยกเว้นที่ควรรู้:
Checkpoint ช่วยกู้คืนงานระหว่างเซสชันได้เร็ว แต่ไม่ใช่ตัวแทนของ Git สำหรับประวัติและการสำรองระยะยาว
ก่อนเริ่มงานใหม่ ให้ตรวจสถานะ Repository และ Commit งานที่ต้องการเก็บไว้ จากนั้นขอให้ Claude แสดงแผนหรือ Diff ก่อนอนุมัติการแก้ไข
ตัวอย่างคำสั่ง:
ตรวจเฉพาะไฟล์ที่เกี่ยวข้องก่อน ห้ามแก้ไฟล์อื่น แสดงแผนและ Diff ที่เสนอ แล้วรอให้ฉันตรวจสอบก่อนนำไปใช้
ComSiam แนะนำให้ Commit หรือสำรองงานก่อนการแก้ไขครั้งใหญ่ และตรวจ git diff หลัง Claude ทำงานทุกครั้ง
/rewind ย้อนบทสนทนาและไฟล์พร้อมกันหรือไม่?ไม่จำเป็นต้องย้อนพร้อมกัน เมนูมีตัวเลือกคืนโค้ด คืนทั้งโค้ดและบทสนทนา หรือคืนเฉพาะบทสนทนา ให้เลือกตามสิ่งที่ต้องการย้อน
/rewind ใช้ย้อนคำสั่ง Bash ได้หรือไม่?อาจย้อนการเปลี่ยนแปลงของ Bash ในไฟล์ที่ Claude Code เคยแก้ผ่านเครื่องมือแก้ไฟล์ในเซสชันได้ แต่ไฟล์ที่เปลี่ยนด้วย Bash อย่างเดียวไม่ได้ถูกติดตามเสมอ ให้ใช้ Git ตรวจและกู้คืนไฟล์เหล่านั้น
/rewind หรือไม่?ถ้า Commit ไปแล้ว ให้ใช้ Git ตรวจประวัติและพิจารณา git revert ซึ่งสร้าง Commit ใหม่เพื่อย้อนการเปลี่ยนแปลง แทนการเปลี่ยนประวัติเดิมโดยไม่ตรวจสอบ
อาจเป็นไฟล์ที่ไม่ถูกติดตามใน Checkpoint เช่น ไฟล์จากคำสั่ง Bash, การแก้จากภายนอกเซสชัน หรือไฟล์แบบ Symlink/Hard link ให้ตรวจ Git Diff และใช้ระบบควบคุมเวอร์ชันช่วยกู้คืน
เริ่มจากตรวจ /diff, git status และ git diff หากเป็นการแก้ในเซสชัน ให้ใช้ /rewind แล้วเลือกจุดและรูปแบบการคืนค่าที่ตรงกับความต้องการ หากต้องย้อนเฉพาะไฟล์ ให้ตรวจไฟล์นั้นก่อนใช้ Git และระวังการทิ้งงานที่ยังไม่ Commit
หาก Commit ไปแล้ว ให้ตรวจประวัติและใช้ git revert อย่างระมัดระวัง ComSiam แนะนำให้ใช้ Git ควบคู่กับ Checkpoint เพื่อกู้คืนงานได้ทั้งระยะสั้นและระยะยาว