แก้ไขข้อผิดพลาด Git - การเปลี่ยนแปลงในเครื่องของคุณจะถูกเขียนทับโดย Merge
Kaekhi Khx Phid Phlad Git Kar Peliynpaelng Ni Kheruxng Khxng Khun Ca Thuk Kheiyn Thab Doy Merge
หากคุณได้แก้ไขไฟล์ที่มีการแก้ไขในที่เก็บระยะไกลด้วย คุณอาจได้รับข้อความแสดงข้อผิดพลาด 'การเปลี่ยนแปลงในเครื่องของคุณกับไฟล์ต่อไปนี้จะถูกเขียนทับโดยการผสาน' โพสต์นี้จาก MiniTool เสนอการแก้ไข
ที่เก็บคืออะไร? Push and Pull ใน Git คืออะไร?
ที่เก็บคืออะไร? ที่เก็บคือที่เก็บโค้ดที่สมาชิกในทีมกำลังแก้ไขและดึงข้อมูลอย่างต่อเนื่องผ่านกลไกการควบคุมเวอร์ชัน GitHub
'ดึง' หมายความว่าคุณดึงเวอร์ชันล่าสุดของที่เก็บไปยังที่เก็บข้อมูลในเครื่อง/IDE (Integrated Development Environment) เช่น Pycharm เป็นต้น หลังจากดึงแล้ว คุณสามารถเปลี่ยนโค้ดหรือเพิ่มฟังก์ชันการทำงานอื่นๆ ได้ เมื่อเสร็จแล้ว คุณ 'ดัน' รหัสของคุณไปยังที่เก็บเพื่อให้สามารถบันทึกและเพิ่มการเปลี่ยนแปลงของคุณได้ คนอื่น ๆ สามารถเข้าถึงรหัสได้เช่นกัน
วิธีแก้ไข 'การเปลี่ยนแปลงในเครื่องของคุณในไฟล์ต่อไปนี้จะถูกเขียนทับโดยการผสาน'
แก้ไข 1: บังคับให้ดึงเพื่อเขียนทับการเปลี่ยนแปลงในเครื่อง
วิธีแรกสำหรับคุณคือการบังคับให้ดึงเพื่อเขียนทับการเปลี่ยนแปลงในเครื่อง การดำเนินการนี้จะเขียนทับการเปลี่ยนแปลงในเครื่องที่ทำบนคอมพิวเตอร์ของคุณและสำเนาของเวอร์ชันในที่เก็บจะปรากฏขึ้น คุณต้องเรียกใช้คำสั่งต่อไปนี้ใน IDE
- รีเซ็ต git - ยาก
- git pull
จากนั้น คุณสามารถตรวจสอบว่าข้อความ “ข้อผิดพลาด: การเปลี่ยนแปลงในเครื่องของคุณกับไฟล์ต่อไปนี้จะถูกเขียนทับโดยการผสาน:” ข้อความหายไป
แก้ไข 2: เก็บการเปลี่ยนแปลงทั้งสองไว้
หากคุณต้องการเก็บการเปลี่ยนแปลงทั้งสองนี้ไว้ (การเปลี่ยนแปลงที่ทำในเครื่องและการเปลี่ยนแปลงในที่เก็บ) คุณสามารถเพิ่มและยอมรับการเปลี่ยนแปลงของคุณได้ คุณต้องรันโค้ดต่อไปนี้ใน IDE:
- git เพิ่ม $the_file_under_error
- git คอมมิท
- git pull
แก้ไข 3: เก็บการเปลี่ยนแปลงทั้งสองไว้แต่ไม่ยอมรับ
มันเกิดขึ้นเป็นครั้งคราวที่นักพัฒนาไม่พร้อมที่จะคอมมิตเพราะคุณกำลังดีบั๊กโค้ดที่เสียหายบางส่วน ที่นี่เราสามารถซ่อนการเปลี่ยนแปลงได้อย่างปลอดภัย ดึงเวอร์ชันจากที่เก็บ และเลิกจัดเก็บโค้ดของคุณ
- บันทึก git stash --keep-index
หรือ
- git stash
- git pull
- git stash pop
หากมีข้อขัดแย้งหลังจากเข้ามาในร้านค้า คุณควรแก้ไขด้วยวิธีปกติ คุณยังสามารถใช้รหัสต่อไปนี้:
- git stash ใช้
หากการรวมไม่ได้เป็นตัวเลือกที่ดีสำหรับคุณ ให้พิจารณาการปรับฐานใหม่ ในกรณีของการรีเบส ให้เปลี่ยนรหัสเป็น
- git stash
- git pull --rebase ต้นทาง master
- git stash pop
แก้ไข 4: ทำการเปลี่ยนแปลงในส่วนของรหัสของคุณ
หากคุณต้องการเปลี่ยนแปลงส่วนใดส่วนหนึ่งของรหัสและไม่ต้องการแทนที่ทุกอย่าง คุณสามารถคอมมิตทุกอย่างที่คุณไม่ต้องการแทนที่และทำตามการแก้ไข 3 คุณสามารถใช้รหัสต่อไปนี้เพื่อทำการเปลี่ยนแปลงที่คุณต้องการ แทนที่จากเวอร์ชันที่มีอยู่ในที่เก็บ:
- เส้นทางการชำระเงิน git/to/file/to/revert
หรือ
- git checkout HEAD^ เส้นทาง/to/file/to/revert
นอกจากนี้ คุณต้องตรวจสอบให้แน่ใจว่าไฟล์ไม่ได้ถูกจัดฉากผ่าน:
- git รีเซ็ตเส้นทาง HEAD/to/file/to/revert
- git pull
ดูเพิ่มเติมที่: แก้ไขข้อผิดพลาด Git: คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อนตอนนี้!
คำพูดสุดท้าย
นี่เป็นวิธีแก้ปัญหาทั่วไปในการแก้ไข 'การเปลี่ยนแปลงในเครื่องของคุณจะถูกเขียนทับโดยการผสาน' ใน Git หากคุณมีวิธีอื่นที่เป็นประโยชน์ในการลบข้อผิดพลาดนี้ โปรดแสดงความคิดเห็นด้านล่างเพื่อแจ้งให้เราทราบ