ฉันแก้ไขสิ่งนี้ด้วยวิธีที่แตกต่างอย่างสิ้นเชิงโดยใช้การควบคุมแหล่งที่มาของ Xcode เท่านั้น
พื้นหลัง: ทีมอื่นผลักดันการเปลี่ยนแปลงไปยังที่เก็บ Git ระยะไกล (ผ่าน Beanstalk) ในตอนท้ายของฉันไฟล์. xcodeproj เข้ามาในไดเรกทอรีต่าง ๆ และการเปลี่ยนแปลงไม่ได้เกิดขึ้น ต่อมาเมื่อฉันพยายามที่จะส่งมอบฉันได้รับข้อผิดพลาด Tree Conflict ใน Xcode
เกือบจะเป็นไปไม่ได้ที่จะแก้ไขโดยใช้ Xcode ฉันแทนที่.xcodeproj
ไฟล์ด้วยเวอร์ชันที่ดาวน์โหลดจากเซิร์ฟเวอร์ Git ผลลัพธ์ ... โครงการ Xcode ดูเหมือนจะชัดเจนขึ้น แต่การอัปเดตทั้งหมดจาก Pull ที่เสียหายนั้นแสดงขึ้นเมื่อมีการเปลี่ยนแปลงที่ฉันทำและถูก Staged for Commit
อย่างไรก็ตามเมื่อพยายามคอมมิทฉันได้รับข้อผิดพลาด "ร้ายแรง: ไม่สามารถคอมมิทบางส่วนระหว่างการรวม" ที่กล่าวถึงที่นี่
นี่คือวิธีที่ฉันแก้ปัญหา ... (ตอนนี้เข้าใจว่าฉันเป็นโปรแกรมเมอร์มือใหม่ดังนั้นฉันจึงอาจขาดความเข้าใจ ... แต่ความไม่รู้ของฉันทำให้ฉันต้องหาวิธีอื่นในการทำสิ่งนี้) ก่อนอื่นฉันโคลนเจ้านายของฉัน สาขาเป็นสาขารองและเปลี่ยนเป็นสาขานั้น จากนั้นฉันสร้างสำเนาการทำงานและวางไดเรกทอรีไปยังสำเนาการทำงานที่อยู่นอกไดเรกทอรีโครงการเดิม (ฉันไม่รู้ว่านี่เป็นสิ่งจำเป็นหรือไม่ แต่เป็นสิ่งที่ฉันทำในขณะที่ฉันอ่านเทคนิคการแก้ไขปัญหาอื่น ๆ ) จากนั้นฉันเปลี่ยนสาขาเป็นหลักซึ่งฉันรู้ว่าไฟล์ Staged ทั้งหมดของฉัน (เปลี่ยนเป็น Commit) หายไป เพื่อให้แน่ใจว่าไฟล์ทั้งหมดได้รับการอัปเดตเป็นการเปลี่ยนแปลงล่าสุดที่ทำโดยบุคคลอื่นฉันได้สร้างสาขาใหม่ชื่อว่า ThirdBranch ซึ่งทำซ้ำไฟล์ทั้งหมด ผลักไปที่ Git Server และปล่อยให้ Beanstalk เปรียบเทียบรุ่นเซิร์ฟเวอร์ของฉันของสาขาหลักกับสาขา ThirdBrach ที่ฉันเพิ่งกด (บรรทัดต่อบรรทัด) และการเปลี่ยนแปลงทั้งหมดของอีกฝ่ายอยู่ใน Xcode ของฉัน นี่หมายความว่าที่เก็บข้อมูลหลักของฉันและที่เก็บข้อมูลหลักของ Git เหมือนกันซึ่งยืนยันว่าฉันแก้ไขปัญหาโดยใช้ Xcode เท่านั้น
อย่าถามฉันว่านอกจากสิ่งที่ฉันเพิ่งอธิบาย ... และเติมช่องว่างที่ฉันทิ้งไว้อย่างแน่นอน ฉันใหม่ที่นี้และฉันไม่เข้าใจทุกอย่าง บางทีโปรแกรมเมอร์ที่มีประสบการณ์สามารถแยกข้อมูลที่ไม่เกี่ยวข้องออกจากเทคนิคที่เกี่ยวข้องและสร้างเทคนิคนี้ให้ชัดเจนยิ่งขึ้นซึ่งเป็นส่วนหนึ่งที่ฉันโพสต์สิ่งนี้
นี่คือคำตอบที่ซ้ำกันสำหรับคำถามซ้ำกันเมื่อ: ไม่สามารถติด Xcode Git Merge ได้