ก่อนอื่นผ่อนคลาย
"ไม่มีอะไรอยู่ภายใต้การควบคุมของเราการควบคุมของเราเป็นเพียงภาพลวงตา", "ความผิดพลาดคือมนุษย์"
remote-master
ฉันได้รับที่คุณได้ผลักดันให้รหัสของคุณโดยไม่ได้ตั้งใจ มันจะไม่เป็นไร
1.ในตอนแรกรับSHA-1
ค่าของการส่งข้อมูลที่คุณพยายามส่งคืนเช่นส่งไปยังสาขาหลัก รันสิ่งนี้:
git log
คุณจะเห็นกลุ่มของ 'f650a9e398ad9ca606b25513bd4af9fe ... ' เช่นเดียวกับสตริงพร้อมกับแต่ละคอมมิท คัดลอกตัวเลขที่มาจากการกระทำที่คุณต้องการที่จะกลับมา
2.ตอนนี้พิมพ์คำสั่งด้านล่าง:
git reset --hard your_that_copied_string_but_without_quote_mark
คุณควรเห็นข้อความเช่น "HEAD is now at" คุณชัดเจน สิ่งที่เพิ่งทำไปคือการสะท้อนถึงการเปลี่ยนแปลงในพื้นที่
3.ตอนนี้พิมพ์คำสั่งด้านล่าง:
git push -f
คุณควรเห็นเช่น
"คำเตือน: push.default ไม่ได้ตั้งค่าโดยปริยายมีการเปลี่ยนแปลงใน ..... ... ทั้งหมด 0 (เดลต้า 0), นำมาใช้ใหม่ 0 (เดลต้า 0) ... ... your_branch_name -> ต้นแบบ (การอัปเดตที่บังคับ) ."
ตอนนี้คุณทุกคนชัดเจน ตรวจสอบต้นแบบด้วย "git log" อีกครั้ง fixed_destination_commit ของคุณควรอยู่ด้านบนของรายการ
ยินดีต้อนรับคุณ (ล่วงหน้า;)
UPDATE:
ตอนนี้การเปลี่ยนแปลงที่คุณทำก่อนที่จะเริ่มต้นทั้งหมดเหล่านี้หายไป
หากคุณต้องการนำงานหนักเหล่านั้นกลับมาอีกครั้งเป็นไปได้ ขอบคุณgit reflogและคำสั่งgit cherry-pick
เพื่อที่ฉันจะแนะนำให้โปรดติดตามบล็อกนี้หรือโพสต์นี้
git reset --hard <the-sha-you-want-to-return-to>
อีกวิธีหนึ่งคือการใช้งาน