คอมไพล์ดึงจากระยะไกล แต่ไม่มีการเรียกอ้างอิงดังกล่าว


69

ฉันมีกระจกคอมไพล์ในดิสก์ของฉันและเมื่อฉันต้องการอัปเดต repo ด้วย git pull มันทำให้ฉันเกิดข้อผิดพลาด:

 Your configuration specifies to merge with the ref '3.5/master' from the remote, but no such ref was fetched.

มันยังให้ฉัน:

  1ce6dac..a5ab7de  3.4/bfq    -> origin/3.4/bfq
  fa52ab1..f5d387e  3.4/master -> origin/3.4/master
  398cc33..1c3000a  3.4/upstream-updates -> origin/3.4/upstream-updates
  d01630e..6b612f7  3.7/master -> origin/3.7/master
  491e78a..f49f47f  3.7/misc   -> origin/3.7/misc
  5b7be63..356d8c6  3.7/upstream-updates -> origin/3.7/upstream-updates
  636753a..027c1f3  3.8/master -> origin/3.8/master
  b8e524c..cfcf7b5  3.8/misc   -> origin/3.8/misc
  * [neuer Zweig]     3.8/upstream-updates -> origin/3.8/upstream-updates

เมื่อฉันเรียกใช้ make menuconfig มันทำให้ฉันมีรุ่น Linux 3.5.7? สิ่งนี้หมายความว่า? ฉันจะอัพเดต repo ของฉันได้อย่างไร

คำตอบ:


58

ตรวจสอบสาขาที่คุณอยู่ ( git branch) ตรวจสอบการกำหนดค่าสำหรับสาขานั้น (ใน.../.git/config) คุณอาจอยู่ในสาขาที่ไม่ถูกต้องหรือการกำหนดค่าของคุณเพื่อบอกให้ผสานกับสาขาระยะไกลที่ไม่มีอยู่จริง


22
git remote prune originในการลบที่ไม่มีอยู่จริงอ้างอิงสาขาที่ห่างไกลในพื้นที่เก็บข้อมูลในท้องถิ่นของคุณใช้
jevon

7
วิธีการตรวจสอบ "การตั้งค่า" git branch -vvสำหรับสาขาก็คือ: ที่แสดง "ระยะไกล" ของสาขาที่เกี่ยวข้อง
offby1

28

ในกรณีของฉันสาขาท้องถิ่นของฉันไม่ได้ถูกตั้งค่าให้ติดตามสาขาระยะไกล ฉันต้องเรียกใช้ด้วยตนเอง:

git pull origin remotebranch

จากนั้นในครั้งต่อไปที่คุณกด "git push -u" เพื่อตั้งค่าการติดตามที่ถูกต้อง


สิ่งเดียวกันจะเกิดขึ้นเมื่อคุณโคลน repo ที่ว่างเปล่าครั้งแรกเช่นที่สร้างขึ้นโดยใช้git init --bare
Cyclonecode

10

ในกรณีของฉันสาขาในพื้นที่และสาขาระยะไกลมีตัวพิมพ์ใหญ่ต่างกัน

เพื่อแก้ปัญหานี้ฉันลบสาขาท้องถิ่นของฉัน$ git branch -d branch-nameแล้วการตรวจสอบออกสาขาที่ห่างไกลอีกครั้งโดยใช้และ$ git fetch$ git checkout Branch-name


มันสะอาดเรียบง่ายและทำงานได้ดี ขอขอบคุณ.
Balasubramani M

ฉันได้รับข้อผิดพลาดนี้ในบรรทัด cmd พยายาม SmartGit ด้วยการ rebase และผ่านมันไป
P.Brian.Mackey

ทำเช่นนี้เพียงครั้งเดียวแทนที่จะลบสาขาและสาขาเช็คเอาต์ใหม่ทุกครั้ง: แก้ไขการใช้อักษรตัวพิมพ์ใหญ่ใน /.git/config ของคุณ
wz366

2

เป็นไปได้ว่ามีคนอื่นในทีมของคุณเพียงแค่ผสานสาขาของคุณและลบมัน (ทำโดยทั่วไปหลังจากการรวม) คุณสามารถสร้างสาขาบน repo และลองอีกครั้ง มันเกิดขึ้นกับฉันที่ บริษัท ของฉันทุก ๆ ครั้ง (ค่าเริ่มต้นบิตเพื่อรวมและลบ)


1

ในกรณีของฉัน (คำเตือนตามปกติ) ฉันมีสาขาของชื่อที่เหมาะสมอยู่แล้วดังนั้นฉันจึงต้องเพิ่มremote = origin. git / config ของฉัน:

[branch "sparql"]
    merge = refs/heads/sparql
    remote = origin # <-- added


1

ฉันมีข้อผิดพลาดเดียวกันเมื่อเนื้อที่ดิสก์หมด หลังจากปรับขนาดไดรฟ์ข้อผิดพลาดได้หายไป


0

ฉันได้รับปัญหานี้เนื่องจากปัญหาที่เกิดขึ้นกับตัวเครื่องบน Windows

การกำหนดค่า Git ของฉันดูเหมือนว่า:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/Bug/some_branch

บนเซิร์ฟเวอร์ทั้ง "Bug" และ "bug" มีอยู่เป็นส่วนหนึ่งของหลายสาขา Windows สามารถเก็บได้ครั้งละหนึ่งรายการเท่านั้นเนื่องจากการแมประบบไฟล์ ดังนั้นฉันอัปเดตการกำหนดค่าของฉันเพื่อให้ตรงกับรุ่นของเซิร์ฟเวอร์ซึ่งแก้ไขปัญหาการดึง:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/bug/some_branch

0

ถ้าสาขาหายไป

$ git status
On branch blah_gone_now
Your branch is based on 'origin/1234/blah_gone_now', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

$ git branch --unset-upstream

จากนั้นชำระเงินหลักหรือสิ่งที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.