มีวิธีใดที่จะเปลี่ยนหรือยกเลิกการดึง git เพื่อให้แหล่งที่มา / repos ของฉันจะเข้าสู่สถานะเดิมที่เคยทำ git pull หรือไม่? ฉันต้องการทำเช่นนี้เพราะมันรวมไฟล์บางไฟล์ที่ฉันไม่ต้องการให้ทำ แต่รวมไฟล์ที่เหลือเท่านั้น ดังนั้นฉันต้องการเอาไฟล์เหล่านั้นกลับมาเป็นไปได้ไหม?
แก้ไข: ฉันต้องการยกเลิกการคอมไพล์เพื่อชี้แจง หลังจากเห็นคำตอบบางอย่างฉันก็ทำอย่างนี้
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
ตอนนี้ฉันควรทำอย่างไร กำลังทำอะไรgit reset --hard
อยู่ ฉันไม่ต้องการขันมันอีกครั้งดังนั้นขอขั้นตอนอย่างละเอียดหรือ
git reflog
จะแสดงทุกสิ่งที่ทำด้วยคอมไพล์ มีข้อกังวลที่git reset --hard [sha1 of something from reflog]
จะคืนค่าทุกสิ่งที่ปรากฏreflog
ซึ่งบางครั้งไม่ใช่เป้าหมายเช่น คุณต้องการยกเลิกการรวมในสาขาหลักที่ดึงมาจากต้นกำเนิดด้วยข้อมูลที่ไม่ดี (เกิดขึ้น) และหลังจากการผสานนั้นคุณได้ทำงานในสาขาอื่น reflog
จะแสดงทุกการสนทนาในสาขาอื่น แต่git checkout master
และgit reset --hard [SH1 of commit on master branch just before merge]
จะรีเซ็ตเฉพาะสาขาต้นแบบปัจจุบันเท่านั้นที่นำการผสานแบบดึงออกจากจุดเริ่มต้น
git reset --hard 01b34fa
ในกรณีนี้คุณสามารถทำได้git reset --hard HEAD^
ซึ่งรีเซ็ตเป็นค่าคอมมิชชันหนึ่งก่อนหน้า HEAD