วิธีชำระเงิน Remote Git Branch
เผยแพร่แล้ว: 2023-01-23หากทีมพัฒนาของคุณใช้ Git ในที่สุด คุณจะต้องตรวจสอบงานของผู้อื่นในฐานะสาขาจากที่เก็บระยะไกล เช่นเดียวกับการดำเนินการสาขาส่วนใหญ่ใน Git การเปลี่ยนไปใช้สาขาระยะไกลนั้นค่อนข้างง่าย
Git, แบรนช์ และรีโมต
ค้นหาสาขาในพื้นที่ของคุณ
ตรวจสอบสาขาระยะไกล
การจัดการการปะทะกันของชื่อ
การจัดการพื้นที่เก็บข้อมูลระยะไกลหลายรายการ
ก่อนที่คุณจะชำระเงิน
Git, แบรนช์ และรีโมต
ปรัชญาของ Git คือการแตกแขนงบ่อยๆ สาขาอนุญาตให้มีการพัฒนาโดยไม่ต้องเปลี่ยนฐานรหัสหลัก เมื่อคุณพอใจที่โค้ดใหม่ทดสอบพร้อมแล้ว ให้รวมสาขาใหม่เข้ากับอีกสาขาหนึ่ง โดยปกติแล้ว นี่คือสาขาหลักหรือสาขาหลัก แต่คุณสามารถรวมสองสาขาใดก็ได้
เนื่องจากความยืดหยุ่นนี้ และวิธีที่เบาและรวดเร็วที่ Git จัดการกับกิ่งก้านและการผสาน การแยกกิ่งจึงได้รับการเปลี่ยนแปลง ในระบบควบคุมเวอร์ชันเก่า การแตกแขนงเป็นเรื่องใหญ่ การแตกแขนงและการรวมทำได้ช้าและเกิดข้อผิดพลาดได้ง่าย Git ช่วยให้นักพัฒนาสามารถแยกสาขาได้ง่ายและรวดเร็วซึ่งใช้เพื่อหนุนเวิร์กโฟลว์ที่แตกต่างกันมากมาย
หากคุณทำงานหรืออาสาสมัครเป็นส่วนหนึ่งของทีมพัฒนาโดยใช้ Git คุณจะมีที่เก็บ Git "ส่วนกลาง" ซึ่งอยู่ห่างไกลจากคอมพิวเตอร์ของวิศวกรซอฟต์แวร์แต่ละคน สิ่งนี้เรียกว่าที่เก็บระยะไกลหรือเพียงแค่ "ระยะไกล" เป็นที่ที่คอมมิตและการเปลี่ยนแปลงไปยังที่เก็บในเครื่องของคุณถูกส่งเมื่อคุณทำการพุช
แน่นอน นั่นคือสิ่งที่นักพัฒนารายอื่นกำลังทำอยู่เช่นกัน ทำให้ง่ายต่อการทำงานร่วมกัน หากคุณต้องการเข้าถึงงานของนักพัฒนารายอื่น คุณเพียงแค่เรียกรหัสของพวกเขาจากสาขาบนพื้นที่เก็บข้อมูลระยะไกล หากพวกเขาต้องการเข้าถึงงานของคุณ พวกเขาจะดึงรหัสของคุณจากสาขาบนพื้นที่เก็บข้อมูลที่ติดตามหนึ่งในสาขาในพื้นที่ของคุณ
ใน Git โครงการพัฒนาสามารถมีรีโมตได้หลายตัว อย่างไรก็ตาม สาขาท้องถิ่นสามารถติดตามสาขาระยะไกลเดียวเท่านั้น ดังนั้น ตราบใดที่คุณใช้งานรีโมตที่เหมาะสม การตรวจสอบรีโมตสาขาที่มีรีโมตหลายตัวก็เหมือนกับการใช้รีโมตตัวเดียว
ค้นหาสาขาในพื้นที่ของคุณ
คุณต้องหลีกเลี่ยงความขัดแย้งของชื่อ หากคุณมีสาขาท้องถิ่นที่มีชื่อเหมือนกับสาขาระยะไกลที่คุณกำลังจะชำระเงิน คุณมีสองทางเลือก คุณสามารถเปลี่ยนชื่อสาขาในพื้นที่ของคุณและตรวจสอบสาขาระยะไกลได้ ด้วยวิธีนี้ สาขาในพื้นที่ของคุณที่ติดตามสาขาระยะไกลจะมีชื่อเดียวกันกับสาขาระยะไกล หรือคุณสามารถชำระเงินสาขาระยะไกลและบอกให้ Git สร้างสาขาการติดตามในเครื่องด้วยชื่อใหม่
หากต้องการทราบชื่อสาขาในที่เก็บในเครื่องของคุณ ให้ใช้คำสั่ง git branch
สาขาคอมไพล์
ที่เก็บแบบโลคัลนี้มีสาขาหลักและอีกสามสาขา เครื่องหมายดอกจันระบุว่าสาขาใดเป็นสาขาปัจจุบัน การย้ายจากสาขาหนึ่งไปยังอีกสาขาหนึ่งต้องตรวจสอบสาขาที่คุณต้องการทำงานด้วย
git checkout คุณสมบัติใหม่
สถานะคอมไพล์
คำสั่งแรกเปลี่ยนสาขาให้เรา เพื่อให้ "คุณสมบัติใหม่" เป็นสาขาปัจจุบัน คำสั่ง git status
ยืนยันว่าสำหรับเรา
เราสามารถข้ามไปมาระหว่างสาขา ยอมรับการเปลี่ยนแปลงใหม่ ดึงการอัปเดตจากรีโมต และพุชการอัปเดตในเครื่องไปยังรีโมต
ที่เกี่ยวข้อง: วิธีอัปเดตและดูแลแยกสาขา Git
ตรวจสอบสาขาระยะไกล
มีสาขาในที่เก็บระยะไกลที่ไม่มีอยู่ในเครื่องของเรา นักพัฒนาชื่อ Mary ได้สร้างคุณลักษณะใหม่ เราต้องการเปลี่ยนไปใช้สาขาระยะไกลนั้นเพื่อให้เราสามารถสร้างซอฟต์แวร์เวอร์ชันนั้นในเครื่องได้
หากเราทำการ fetch
Git จะดึงข้อมูลเมตากลับจากที่เก็บระยะไกล
ดึงข้อมูลคอมไพล์
เนื่องจากนี่เป็นการ fetch
ครั้งแรกที่เราทำตั้งแต่ Mary ผลักสาขาของเธอไปยังที่เก็บระยะไกล เราจึงได้รับแจ้งว่ามีสาขาใหม่ที่ชื่อว่า “origin/mary-feature” ชื่อดีฟอลต์สำหรับรีโมตที่เก็บแรกที่เพิ่มในโปรเจ็กต์คือ "origin"
ไม่ว่าเราจะเห็นข้อความนี้หรือไม่ เราสามารถขอให้ Git แสดงรายการสาขาในที่เก็บระยะไกลได้เสมอ
ตัวเลือก -r
(ระยะไกล) บอกให้ Git รายงานเกี่ยวกับสาขาที่อยู่ในที่เก็บระยะไกล
git สาขา -r
ประเด็นที่ควรทราบที่นี่คือ Git กำลังตรวจสอบสำเนาข้อมูลเมตาของรีโมต ใน เครื่อง นั่นเป็นเหตุผลที่เราใช้คำสั่ง git fetch
เพื่อให้แน่ใจว่าสำเนาข้อมูลเมตาในเครื่องนั้นเป็นปัจจุบัน
พอเจอสาขาที่ต้องการก็ลุยกันได้เลย เราใช้คำสั่ง git checkout
กับตัวเลือก -b
(branch) ตามด้วยชื่อที่เราจะใช้สำหรับ local branch ตามด้วยชื่อ remote branch
git checkout -b mary-feature ต้นทาง/mary-feature
เราจะเห็นว่าเราได้ตรวจสอบสาขาระยะไกลและสร้างสาขาท้องถิ่นที่จะติดตามการเปลี่ยนแปลงในสาขาระยะไกล
สาขาคอมไพล์
สาขาท้องถิ่นแห่งใหม่ของเราคือสาขาที่ทำงานปัจจุบันของเรา
การจัดการการปะทะกันของชื่อ
หากคุณมีสาขาท้องถิ่นที่มีชื่อเดียวกับสาขาระยะไกล คุณสามารถเปลี่ยนชื่อสาขาในพื้นที่ของคุณก่อนที่จะตรวจสอบสาขาระยะไกล หรือชำระเงินสาขาระยะไกลและระบุชื่อสาขาท้องถิ่นอื่น
ในการเช็คเอาต์สาขาระยะไกลเป็นสาขาท้องถิ่นที่มีชื่อต่างกัน เราสามารถใช้คำสั่งเดียวกับที่เราใช้ก่อนหน้านี้ และเลือกชื่อสาขาท้องถิ่นใหม่
git checkout -b mary-test origin/mary-feature
สิ่งนี้จะสร้างสาขาท้องถิ่นที่เรียกว่า "การทดสอบแมรี่" ซึ่งจะติดตามความมุ่งมั่นในท้องถิ่นไปยังสาขานั้น การกดจะไปที่สาขา "origin/mary-feature" ระยะไกล
นี่อาจเป็นวิธีที่ดีที่สุดในการจัดการการปะทะกันของชื่อในท้องถิ่น หากคุณต้องการให้ชื่อสาขาในพื้นที่และระยะไกลเหมือนกันจริงๆ คุณจะต้องเปลี่ยนชื่อสาขาในพื้นที่ของคุณก่อนตรวจสอบระยะไกล การเปลี่ยนชื่อสาขาเป็นเรื่องเล็กน้อยใน Git
git branch -m mary-feature old-mary-branch
ตอนนี้คุณพร้อมที่จะชำระเงินสาขา "origin/mary-feature" ระยะไกลแล้ว
การจัดการพื้นที่เก็บข้อมูลระยะไกลหลายรายการ
หากคุณกำหนดค่าที่เก็บข้อมูลระยะไกลหลายรายการ คุณต้องดูแลว่าคุณกำลังทำงานกับที่เก็บที่เหมาะสมเมื่อคุณตรวจสอบสาขาระยะไกล
หากต้องการแสดงรายการรีโมตที่เก็บของคุณ ให้ใช้คำสั่ง remote
พร้อมอ็อพชัน -v
(ดู)
git ระยะไกล -v
หากต้องการดูสาขาที่มีอยู่ทั้งหมด เราจำเป็นต้องดึงข้อมูลเมตาจากรีโมตทั้งหมดของเรา จากนั้นจึงแสดงรายการสาขาระยะไกล
git fetch -- ทั้งหมด
สาขาคอมไพล์ --all
เราจะเห็นสาขาที่เราต้องการอยู่ในรีโมท “ต้นทาง” คำสั่งในการตรวจสอบอยู่ในรูปแบบเดียวกับที่เราใช้อยู่แล้ว เราจำเป็นต้องระบุชื่อรีโมต "origin" และชื่อสาขา "mary-feature"
git checkout -b mary-feature ต้นทาง/mary-feature
ที่เกี่ยวข้อง: วิธีสลับ เพิ่ม และลบ Git Remotes
ก่อนที่คุณจะชำระเงิน
ก่อนที่คุณจะชำระเงิน โปรดคำนึงถึงบางสิ่งในใจ แล้วคุณจะสบายดี
ตรวจสอบให้แน่ใจว่าคุณหลีกเลี่ยงการปะทะกันของชื่อ หากคุณมีสาขาท้องถิ่นที่มีชื่อเดียวกับสาขาระยะไกล ให้ตัดสินใจว่าคุณจะเปลี่ยนชื่อสาขาในพื้นที่หรือสร้างสาขาด้วยชื่ออื่นเพื่อติดตามสาขาระยะไกล
หากคุณใช้ที่เก็บรีโมตหลายรายการ ตรวจสอบให้แน่ใจว่าคุณใช้รีโมตที่ถูกต้อง
ที่เกี่ยวข้อง: Git rebase: ทุกสิ่งที่คุณต้องรู้