Magit - ฉันจะชำระเงินที่สาขาระยะไกลในพื้นที่โดยไม่ต้องพิมพ์ชื่อสาขาทั้งหมดได้อย่างไร


12

remote-branch-long-nameฉันมีสาขาที่ห่างไกล เมื่อฉันเช็คเอาต์ด้วยหางเสือเสร็จฉันสามารถพิมพ์remote-branchและorigin/remote-branch-long-nameจะปรากฏขึ้นเป็นตัวเลือก ปัญหาคือการเช็คเอาต์สาขานี้ในพื้นที่จริง ๆ แล้วฉันไม่สามารถเปลี่ยนเป็นสาขานั้นได้ฉันต้องเปลี่ยนไปremote-branch-long-name (without the origin/ prefix)เนื่องจาก helm ไม่ได้ระบุว่าเป็นตัวเลือกที่สมบูรณ์ฉันต้องพิมพ์ชื่อสาขาทั้งหมดด้วยตนเอง

มีฟังก์ชั่นอื่นที่ฉันควรใช้สำหรับกรณีการใช้งานนี้หรือฉันต้องแฮ็คฟังก์ชั่นร่วมกันหรือไม่?

คำตอบ:


22

ดูเหมือนว่าปัญหาที่คุณกำลังพยายามแก้ไขไม่ใช่ปัญหาที่คุณเผชิญ Git ไม่อนุญาตให้คุณทำงานกับสาขาในพื้นที่ห่างไกล (ที่origin/remote-branch-long-nameคุณเห็นเป็นเพียงสาขาติดตามคุณไม่สามารถทำงานกับมันได้โดยตรง) และ Magit กำลังนำทางคุณไปยังเวิร์กโฟลว์ที่ต้องการ

เนื่องจากคุณต้องการทำงานร่วมกับorigin/remote-branch-long-nameคุณคุณควรเรียกใช้magit-branch-and-checkout( b c) เลือกorigin/remote-branch-long-nameและมันจะแจ้งให้คุณสำหรับชื่อสาขาท้องถิ่นและจะเริ่มต้นที่ "ระยะไกลสาขายาวชื่อ" สิ่งนี้ทำให้สาขาท้องถิ่นจำเป็นต้องทำการเปลี่ยนแปลงของคุณ เมื่อเสร็จสิ้นการเปลี่ยนแปลงของคุณและกดไปที่origin/remote-branch-long-nameมันจะอัปเดตสาขาติดตามระยะไกล

คุณสามารถมีสาขาท้องถิ่นด้วยสแลชในพวกเขา แต่ใช้ชื่อระยะไกลในชื่อสาขาท้องถิ่นสามารถทำให้สิ่งต่าง ๆ สับสนมาก Git จำได้ว่าสาขาในพื้นที่ห่างไกลเช็คเอาต์ดังนั้นคุณไม่จำเป็นต้องติดตามด้วยตัวเอง

สำหรับคำอธิบายที่สมบูรณ์มากกว่าคำตอบของฉันที่นี่ (!) คุณพบหน้านี้a เพื่อเป็นภาพรวมที่ดีเกี่ยวกับรีโมท


8
ฉันคิดว่าการปลดการเชื่อมต่อที่นี่คือการไหลของ Magit นั้นแตกต่างจากการไหลของคอมไพล์ หากคุณทำงานgit checkout fooและfooไม่ได้เป็นสาขา แต่origin/fooมีคอมไพล์จะสร้างสาขาใหม่และตั้งค่าให้ติดตามfoo origin/fooดังนั้น git จึงสอนให้คุณคิดว่า "ฉันแค่ชำระเงินfooและ git ทำทุกอย่างที่จำเป็น" แต่วิธีนี้ใช้ไม่ได้กับ magit วิ่งmagit-branch-and-checkoutเป็นวิธีที่จะไป
zck

4

ตั้งแต่ magit v2.12.0 มีคำสั่งmagit-branch-checkoutผูกมัดกับb l(ชำระเงินสาขาท้องถิ่น) ซึ่งทำสิ่งที่คุณต้องการอย่างแท้จริง ดูเอกสาร สำหรับรายละเอียด

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