สมมติว่าฉันmerge
คอมไพล์และมีความขัดแย้งในการผสาน
คำถามของฉันคือฉันจะบังคับให้คอมไพล์เลือกโค้ดเวอร์ชันใหม่ที่ขัดแย้งกันได้อย่างไรดังนั้นฉันจึงไม่จำเป็นต้องแก้ไขข้อขัดแย้งด้วยตนเอง
สมมติว่าฉันmerge
คอมไพล์และมีความขัดแย้งในการผสาน
คำถามของฉันคือฉันจะบังคับให้คอมไพล์เลือกโค้ดเวอร์ชันใหม่ที่ขัดแย้งกันได้อย่างไรดังนั้นฉันจึงไม่จำเป็นต้องแก้ไขข้อขัดแย้งด้วยตนเอง
คำตอบ:
มันไม่ได้ว่า "ใหม่" รุ่น แต่คุณสามารถบอกคอมไพล์ไปมักจะชอบรุ่นในสาขาปัจจุบันใช้หรือจะชอบรุ่นของสาขาความเป็นอยู่รวมที่ใช้git merge branch -X ours
git merge branch -X theirs
จากman git-merge
:
ของเราเอง:
ตัวเลือกนี้บังคับให้คนที่ขัดแย้งกันได้รับการแก้ไขโดยอัตโนมัติอย่างหมดจดโดยเลือกเวอร์ชันของเรา การเปลี่ยนแปลงจากต้นไม้อีกต้นที่ไม่ขัดแย้งกับฝ่ายเราจะสะท้อนให้เห็นผลการผสาน สำหรับไฟล์ไบนารีเนื้อหาทั้งหมดจะถูกนำมาจากฝั่งของเรา
พวกเขา:
นี่คือสิ่งที่ตรงกันข้ามกับ "ของเรา"
ours
- theirs
!! แค่พูดก็เข้าใจว่าคำสั่งทำอะไร! ฉันรัก Git! : D
git merge branch
คุณจะต้องทำgit merge --abort
ก่อนจึงจะทำได้
error: The following untracked working tree files would be overwritten by merge:
ฉันไม่รู้ด้วยซ้ำว่าทำไมไฟล์เหล่านี้ถึงอยู่ในสาขานี้ตั้งแต่แรก แต่ควรจะเขียนทับและคอมไพล์ปฏิเสธ
git add
) ออกก่อน อ่านสักหน่อยgit clean
มันอาจช่วยคุณได้
git merge ours
หากมีไฟล์ขัดแย้งจะเป็นบันทึกใด ๆ ? และฉันสามารถติดตามของgit merge ours
?
ฉันใช้สิ่งนี้
git fetch --prune
git reset --hard origin/master