แต่ฉันได้รับข้อผิดพลาด "! [ถูกปฏิเสธ]" และบางอย่างเกี่ยวกับ "ไม่กรอไปข้างหน้า"
นั่นเป็นเพราะ Git ไม่สามารถรวมการเปลี่ยนแปลงจากกิ่งก้านสาขาเข้ากับเจ้านายปัจจุบันของคุณ สมมติว่าคุณได้ตรวจสอบจากสาขาและคุณต้องการที่จะรวมในสาขาที่ห่างไกลmaster
other-branch
เมื่อคุณทำสิ่งนี้:
$ git pull origin other-branch
Git โดยพื้นฐานแล้วทำสิ่งนี้:
$ git fetch origin other-branch && git merge other-branch
นั่นคือpull
เป็นเพียงตามมาด้วยfetch
merge
อย่างไรก็ตามเมื่อไหร่pull
ไอเอ็นจี, Git จะเพียงผสานother-branch
ถ้ามันสามารถดำเนินการได้อย่างรวดเร็วไปข้างหน้าผสาน การผสานไปข้างหน้าอย่างรวดเร็วคือการผสานที่ส่วนหัวของสาขาที่คุณกำลังพยายามผสานเข้าด้วยกันคือการสืบทอดโดยตรงของหัวหน้าสาขาที่คุณต้องการผสาน ตัวอย่างเช่นหากคุณมีแผนผังประวัตินี้การผสานother-branch
จะส่งผลให้มีการผสานอย่างรวดเร็ว:
O-O-O-O-O-O
^ ^
master other-branch
อย่างไรก็ตามนี่จะไม่ใช่การผสานที่รวดเร็ว:
v master
O-O-O
\
\-O-O-O-O
^ other-branch
เพื่อแก้ปัญหาของคุณก่อนอื่นให้ดึงรีโมตสาขา
$ git fetch origin other-branch
จากนั้นรวมเข้าในสาขาปัจจุบันของคุณ (ฉันจะสมมติว่าเป็นmaster
) และแก้ไขข้อขัดแย้งการผสาน:
$ git merge origin/other-branch
# Fix merge conflicts, if they occur
# Add merge conflict fixes
$ git commit # And commit the merge!