เพียงแค่การชี้แจง (ใช้ git รุ่น 1.7.9.5 บน Ubuntu 12.04):
Git จะเพิ่ม / ลบรีโมท นี่คืออินสแตนซ์ระยะไกลของ git ที่มีเซิร์ฟเวอร์แนบอยู่
git remote add myremote git://remoteurl
จากนั้นคุณสามารถดึงที่เก็บ git ที่กล่าวไว้ดังนี้:
git fetch myremote
ดูเหมือนว่าสิ่งนี้จะสร้างสาขาชื่อ 'myremote' แต่รีโมตสำหรับสาขาไม่ได้ถูกตั้งค่าโดยอัตโนมัติ หากต้องการทำสิ่งนี้คุณต้องทำสิ่งต่อไปนี้:
ก่อนอื่นให้ตรวจสอบว่าคุณมีปัญหานี้หรือไม่
git config -l | grep myremote
คุณควรเห็นบางสิ่งเช่น:
remote.myremote.url=git://remoteurl
remote.myremote.fetch=+refs/heads/*:refs/remotes/myremote/*
branch.myremote.remote=.
branch.myremote.merge=refs/heads/master
หากคุณเห็นbranch.myremote.remote=.
คุณควรดำเนินการต่อไป:
git config branch.myremote.remote myremote
git checkout myremote
git pull
ตอนนี้คุณควรทันสมัยกับที่เก็บรีโมตและการดึง / การกดของคุณควรเชื่อมโยงกับรีโมตที่เหมาะสม คุณสามารถสลับรีโมทในลักษณะนี้ต่อสาขา [หมายเหตุ] [1]
ตามเอกสารการกำหนดค่าGit อย่างเป็นทางการคุณสามารถตั้งค่าสาขาการกดเริ่มต้น (เพียงค้นหา remote.pushdefault บนหน้านั้น) อย่างไรก็ตามโปรดทราบว่าสิ่งนี้จะไม่ส่งผลกระทบต่อที่เก็บ / สาขาที่มีอยู่แล้วดังนั้นสิ่งนี้จะใช้ได้ แต่ สำหรับที่เก็บใหม่ / สาขา คุณควรจำไว้ว่า--global
จะตั้งค่าเริ่มต้นที่เก็บข้อมูลเฉพาะของผู้ใช้ (~ / .gitconfig) --system
จะตั้งค่าเริ่มต้นที่เก็บข้อมูลทั่วทั้งระบบ (/ etc / gitconfig) และจะไม่มีการตั้งค่าตัวเลือกการตั้งค่าสำหรับที่เก็บปัจจุบัน (./.gitconfig)
นอกจากนี้ควรสังเกตว่าตัวเลือกการกำหนดค่าpush.defaultนั้นใช้สำหรับการกำหนดค่าลักษณะการทำงานแบบอ้างอิงไม่ใช่ พฤติกรรมระยะไกล
[1]: git branch --set-upstream myotherremote
มักจะทำงานที่นี่ แต่คอมไพล์จะบ่นว่ามันจะไม่ตั้งสาขาเป็นรีโมตของตัวเองหากgit branch --set-upstream myremote
มีการใช้งาน ฉันเชื่อว่านี่เป็นพฤติกรรมที่ไม่ถูกต้อง