พิจารณาสถานการณ์ต่อไปนี้ พื้นที่เก็บข้อมูลระยะไกลมีสองสาขาและmaster b1นอกจากนี้มันมีสองโคลนrepo1และrepo2และทั้งสองได้b1ออกตรวจสอบ ณ จุดหนึ่งในrepo1ชื่อของb1มีการเปลี่ยนแปลง เท่าที่ฉันสามารถบอกได้ต่อไปนี้เป็นขั้นตอนที่เหมาะสมในการเปลี่ยนชื่อb1:
$ git branch b1 b2 # changes the name of b1 to b2
$ git push remote :b1 # delete b1 remotely
$ git push --set-upstream origin b2 # create b2 remotely and direct the local branch to track the remote 1
ตอนนี้หลังจากนั้นrepo2ฉันก็ประสบปัญหา git pullไม่ดึงการเปลี่ยนแปลงจากสาขา (ซึ่งปัจจุบันเรียกว่าระยะไกลb2) ข้อผิดพลาดที่ส่งคืนคือ:
Your configuration specifies to merge with the ref 'b1'
from the remote, but no such ref was fetched.
วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร? ทั้งส่วนการเปลี่ยนชื่อและการปรับปรุงในโคลนอื่น ๆ ?
ดังนั้นคุณบอกว่าใน
—
Dror
repo2ฉันควรด้วยตนเอง (และในประเทศ) ลบb1และเช็คเอาต์b2หลังจากgit fetch?
ใช่ฉันคิดว่านั่นเป็นสิ่งที่คุณต้องทำ
—
wingedsubmariner
repo2คุณสามารถทำได้git pull; git checkout b2เพื่อสลับไปยังสาขาใหม่