ฉันจะบังคับให้เขียนทับไฟล์ภายในเครื่องได้git pull
อย่างไร?
สถานการณ์มีดังต่อไปนี้:
- สมาชิกในทีมกำลังแก้ไขแม่แบบสำหรับเว็บไซต์ที่เรากำลังทำงาน
- พวกเขากำลังเพิ่มภาพบางส่วนไปยังไดเรกทอรีภาพ (แต่ลืมที่จะเพิ่มพวกเขาภายใต้การควบคุมแหล่งที่มา)
- พวกเขากำลังส่งภาพทางไปรษณีย์มาหาฉันทีหลัง
- ฉันกำลังเพิ่มภาพภายใต้การควบคุมของแหล่งที่มาและผลักพวกเขาไปที่ GitHub พร้อมกับการเปลี่ยนแปลงอื่น ๆ
- พวกเขาไม่สามารถดึงการอัปเดตจาก GitHub ได้เพราะ Git ไม่ต้องการเขียนทับไฟล์
นี่เป็นข้อผิดพลาดที่ฉันได้รับ:
ข้อผิดพลาด: ไฟล์ต้นไม้ทำงานที่ไม่ได้ติดตาม 'สาธารณะ / images / icon.gif' จะถูกเขียนทับโดยการรวม
ฉันจะบังคับให้ Git เขียนทับพวกเขาได้อย่างไร บุคคลนั้นเป็นนักออกแบบ - โดยปกติฉันจะแก้ไขข้อขัดแย้งทั้งหมดด้วยมือดังนั้นเซิร์ฟเวอร์จึงมีเวอร์ชันล่าสุดที่พวกเขาต้องการอัปเดตบนคอมพิวเตอร์ของพวกเขา
git reset --hard origin/branch_to_overwrite
git branch <branch> -D
2. รีเซ็ตเป็นคอมมิทก่อนการขัดแย้ง: git reset <commit> --hard
3. สร้างสาขาใหม่อีกครั้ง: git branch <branch>
4. ตั้งค่าการติดตามไปที่เซิร์ฟเวอร์: git --set-upstream-to=origin/<branch> <branch> 5. Pull:
git pull`
git config core.autocrlf false; git ls-files -z | xargs -0 rm; git checkout .