วิธีชำระเงิน Remote Git Branch

เผยแพร่แล้ว: 2023-01-23
แล็ปท็อป Linux แสดงคำสั่งทุบตี
fatmawati achmad zaenuri/Shutterstock.com
หากต้องการชำระเงินสาขาจากที่เก็บระยะไกล ให้ใช้คำสั่ง 'git fetch' แล้วตามด้วย 'git branch -r' เพื่อแสดงรายการสาขาระยะไกล เลือกสาขาที่คุณต้องการและใช้คำสั่งในรูปแบบ 'git checkout -b new-branch-name origin/remote-branch-name' หากคุณใช้ที่เก็บหลายแห่ง ให้เปลี่ยนส่วน 'ต้นทาง' ของคำสั่งเช็คเอาต์เป็นชื่อของรีโมตที่คุณต้องการชำระเงินจากสาขา

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

สารบัญ

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

Git, แบรนช์ และรีโมต

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

เนื่องจากความยืดหยุ่นนี้ และวิธีที่เบาและรวดเร็วที่ Git จัดการกับกิ่งก้านและการผสาน การแยกกิ่งจึงได้รับการเปลี่ยนแปลง ในระบบควบคุมเวอร์ชันเก่า การแตกแขนงเป็นเรื่องใหญ่ การแตกแขนงและการรวมทำได้ช้าและเกิดข้อผิดพลาดได้ง่าย Git ช่วยให้นักพัฒนาสามารถแยกสาขาได้ง่ายและรวดเร็วซึ่งใช้เพื่อหนุนเวิร์กโฟลว์ที่แตกต่างกันมากมาย

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

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

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

ค้นหาสาขาในพื้นที่ของคุณ

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

หากต้องการทราบชื่อสาขาในที่เก็บในเครื่องของคุณ ให้ใช้คำสั่ง git branch

 สาขาคอมไพล์ 

แสดงสาขาในเครื่องด้วยคำสั่ง git branch

ที่เก็บแบบโลคัลนี้มีสาขาหลักและอีกสามสาขา เครื่องหมายดอกจันระบุว่าสาขาใดเป็นสาขาปัจจุบัน การย้ายจากสาขาหนึ่งไปยังอีกสาขาหนึ่งต้องตรวจสอบสาขาที่คุณต้องการทำงานด้วย

 git checkout คุณสมบัติใหม่
 สถานะคอมไพล์ 

ตรวจสอบสาขาในพื้นที่ด้วยคำสั่ง git checkout

คำสั่งแรกเปลี่ยนสาขาให้เรา เพื่อให้ "คุณสมบัติใหม่" เป็นสาขาปัจจุบัน คำสั่ง git status ยืนยันว่าสำหรับเรา

เราสามารถข้ามไปมาระหว่างสาขา ยอมรับการเปลี่ยนแปลงใหม่ ดึงการอัปเดตจากรีโมต และพุชการอัปเดตในเครื่องไปยังรีโมต

ที่เกี่ยวข้อง: วิธีอัปเดตและดูแลแยกสาขา Git

ตรวจสอบสาขาระยะไกล

มีสาขาในที่เก็บระยะไกลที่ไม่มีอยู่ในเครื่องของเรา นักพัฒนาชื่อ Mary ได้สร้างคุณลักษณะใหม่ เราต้องการเปลี่ยนไปใช้สาขาระยะไกลนั้นเพื่อให้เราสามารถสร้างซอฟต์แวร์เวอร์ชันนั้นในเครื่องได้

หากเราทำการ fetch Git จะดึงข้อมูลเมตากลับจากที่เก็บระยะไกล

 ดึงข้อมูลคอมไพล์ 

การใช้คำสั่ง git fetch เพื่อดึงข้อมูลเมตาเกี่ยวกับที่เก็บระยะไกล

เนื่องจากนี่เป็นการ fetch ครั้งแรกที่เราทำตั้งแต่ Mary ผลักสาขาของเธอไปยังที่เก็บระยะไกล เราจึงได้รับแจ้งว่ามีสาขาใหม่ที่ชื่อว่า “origin/mary-feature” ชื่อดีฟอลต์สำหรับรีโมตที่เก็บแรกที่เพิ่มในโปรเจ็กต์คือ "origin"

ไม่ว่าเราจะเห็นข้อความนี้หรือไม่ เราสามารถขอให้ Git แสดงรายการสาขาในที่เก็บระยะไกลได้เสมอ

ตัวเลือก -r (ระยะไกล) บอกให้ Git รายงานเกี่ยวกับสาขาที่อยู่ในที่เก็บระยะไกล

 git สาขา -r 

การใช้คำสั่ง git branch -r เพื่อแสดงรายการรีโมตสาขา

ประเด็นที่ควรทราบที่นี่คือ Git กำลังตรวจสอบสำเนาข้อมูลเมตาของรีโมต ใน เครื่อง นั่นเป็นเหตุผลที่เราใช้คำสั่ง git fetch เพื่อให้แน่ใจว่าสำเนาข้อมูลเมตาในเครื่องนั้นเป็นปัจจุบัน

วิธีเลือก Git Workflow & Branching Model ที่เหมาะกับทีมของคุณ
ที่เกี่ยวข้อง วิธีเลือก Git Workflow & Branching Model ที่เหมาะกับทีมของคุณ

พอเจอสาขาที่ต้องการก็ลุยกันได้เลย เราใช้คำสั่ง git checkout กับตัวเลือก -b (branch) ตามด้วยชื่อที่เราจะใช้สำหรับ local branch ตามด้วยชื่อ remote branch

 git checkout -b mary-feature ต้นทาง/mary-feature 

ตรวจสอบสาขาระยะไกลด้วยคำสั่ง git checkout -b

เราจะเห็นว่าเราได้ตรวจสอบสาขาระยะไกลและสร้างสาขาท้องถิ่นที่จะติดตามการเปลี่ยนแปลงในสาขาระยะไกล

 สาขาคอมไพล์ 

การแสดงรายการสาขาในเครื่องด้วยคำสั่ง git branch โดยเลือกสำเนาที่สร้างขึ้นใหม่ของสาขาระยะไกลเป็นสาขาปัจจุบัน

สาขาท้องถิ่นแห่งใหม่ของเราคือสาขาที่ทำงานปัจจุบันของเรา

การจัดการการปะทะกันของชื่อ

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

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

 git checkout -b mary-test origin/mary-feature 

ตรวจสอบรีโมตแบรนช์ด้วยคำสั่ง git checkout -b โดยที่โลคัลแบรนช์มีชื่อแตกต่างจากรีโมตแบรนช์

สิ่งนี้จะสร้างสาขาท้องถิ่นที่เรียกว่า "การทดสอบแมรี่" ซึ่งจะติดตามความมุ่งมั่นในท้องถิ่นไปยังสาขานั้น การกดจะไปที่สาขา "origin/mary-feature" ระยะไกล

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

 git branch -m mary-feature old-mary-branch 

การเปลี่ยนชื่อ Branch ด้วยคำสั่ง git branch -m

ตอนนี้คุณพร้อมที่จะชำระเงินสาขา "origin/mary-feature" ระยะไกลแล้ว

การจัดการพื้นที่เก็บข้อมูลระยะไกลหลายรายการ

หากคุณกำหนดค่าที่เก็บข้อมูลระยะไกลหลายรายการ คุณต้องดูแลว่าคุณกำลังทำงานกับที่เก็บที่เหมาะสมเมื่อคุณตรวจสอบสาขาระยะไกล

หากต้องการแสดงรายการรีโมตที่เก็บของคุณ ให้ใช้คำสั่ง remote พร้อมอ็อพชัน -v (ดู)

 git ระยะไกล -v 

แสดงรายการที่เก็บระยะไกลด้วยคำสั่ง git remote -v

หากต้องการดูสาขาที่มีอยู่ทั้งหมด เราจำเป็นต้องดึงข้อมูลเมตาจากรีโมตทั้งหมดของเรา จากนั้นจึงแสดงรายการสาขาระยะไกล

 git fetch -- ทั้งหมด
 สาขาคอมไพล์ --all 

การใช้ git fetch --all เพื่ออัปเดตข้อมูลเมตาในเครื่องและใช้ git branch --all เพื่อแสดงรายการสาขาทั้งหมด ทั้งในระบบและระยะไกล

เราจะเห็นสาขาที่เราต้องการอยู่ในรีโมท “ต้นทาง” คำสั่งในการตรวจสอบอยู่ในรูปแบบเดียวกับที่เราใช้อยู่แล้ว เราจำเป็นต้องระบุชื่อรีโมต "origin" และชื่อสาขา "mary-feature"

 git checkout -b mary-feature ต้นทาง/mary-feature 

ตรวจสอบรีโมตแบรนช์ด้วยคำสั่ง git checkout -b โดยใช้ชื่อรีโมตและชื่อแบรนช์

ที่เกี่ยวข้อง: วิธีสลับ เพิ่ม และลบ Git Remotes

ก่อนที่คุณจะชำระเงิน

ก่อนที่คุณจะชำระเงิน โปรดคำนึงถึงบางสิ่งในใจ แล้วคุณจะสบายดี

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

หากคุณใช้ที่เก็บรีโมตหลายรายการ ตรวจสอบให้แน่ใจว่าคุณใช้รีโมตที่ถูกต้อง

ที่เกี่ยวข้อง: Git rebase: ทุกสิ่งที่คุณต้องรู้