วิธีเปลี่ยนชื่อสาขาใน Git

เผยแพร่แล้ว: 2022-12-26

โลโก้ Git บนพื้นหลังสีน้ำเงิน

หากต้องการเปลี่ยนชื่อปัจจุบัน ให้เรียกใช้ local branch "git branch -m new-name" หากต้องการเปลี่ยนชื่อสาขาในเครื่องจากอีกสาขาหนึ่ง ให้ใช้ "git branch -m old-name new-name" หากต้องการเปลี่ยนชื่อสาขาระยะไกล ให้ลบด้วย "git push origin --delete old-name" จากนั้นกดชื่อสาขาในเครื่องที่เปลี่ยนชื่อด้วย "git push origin -u new-name"

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

สารบัญ

เหตุใดชื่อสาขาจึงมีความสำคัญใน Git
แสดงรายการสาขาใน Git ก่อนเปลี่ยนชื่อ
วิธีเปลี่ยนชื่อ Local Branch ใน Git
วิธีเปลี่ยนชื่อ Remote Branch ใน Git
การเปลี่ยนชื่อสาขาเป็นเรื่องง่าย

เหตุใดชื่อสาขาจึงมีความสำคัญใน Git

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

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

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

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

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

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

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

ที่เกี่ยวข้อง: Git Branches ทำงานอย่างไร

แสดงรายการสาขาใน Git ก่อนเปลี่ยนชื่อ

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

 สาขาคอมไพล์ 

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

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

หากต้องการดูสาขาและการผูกมัด คุณสามารถใช้คำสั่ง show-branch

 git แสดงสาขา 

รายชื่อสาขาและการคอมมิตด้วยคำสั่ง git show-branch

คุณสามารถดูสาขาบนพื้นที่เก็บข้อมูลระยะไกลได้โดยการรวมตัวเลือก -r (ระยะไกล)

 git สาขา -r 

แสดงรายการรีโมตสาขาด้วยคำสั่ง git branch -r

หากต้องการดูสาขาในพื้นที่และระยะไกลด้วยคำสั่งเดียว ให้ใช้ตัวเลือก -a (ทั้งหมด)

 คอมไพล์สาขา -a 

การแสดงรายการสาขาในพื้นที่และระยะไกลด้วยคำสั่ง git branch -a

เรามีสาขาในท้องถิ่นมากกว่าสาขาที่อยู่ห่างไกล สาขา “feature16” ยังไม่ได้พุชไปยังที่เก็บระยะไกล นั่นเป็นเพียงลักษณะของการทำงานปกติ ไม่ใช่ปัญหา

ปัญหาของเราคือสาขา “feature19” ควรได้รับการตั้งชื่อว่า “feature18” นั่นคือข้อผิดพลาดที่เราจะแก้ไข

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

วิธีเปลี่ยนชื่อ Local Branch ใน Git

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

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

 คุณสมบัติการชำระเงินคอมไพล์19
 git branch -m คุณลักษณะ18 

ตรวจสอบสาขา "feature19" และเปลี่ยนชื่อ

เราได้ตรวจสอบสาขา “feature19” และเปลี่ยนชื่อเป็น “feature18” มาดูกันว่าตอนนี้สาขาของเราหน้าตาเป็นอย่างไร

 สาขาคอมไพล์ 

รายชื่อสาขาเพื่อตรวจสอบว่าสาขา "feature19" ถูกเปลี่ยนชื่อเป็น "feature18"

ตอนนี้สาขาของเรามีชื่อที่ถูกต้องในที่เก็บในเครื่องแล้ว

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

 สาขาคอมไพล์ 

รายชื่อสาขาเพื่อตรวจสอบว่าเราอยู่ในสาขาหลัก

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

 git branch -m คุณลักษณะ 19 คุณลักษณะ 18
 สาขาคอมไพล์ 

เปลี่ยนชื่อหนึ่งสาขาจากภายในสาขาอื่น

ขอย้ำอีกครั้งว่าสาขาในที่เก็บในเครื่องของเราถูกเปลี่ยนชื่อเป็นชื่อที่ถูกต้องแล้ว

ที่เกี่ยวข้อง: วิธีสร้างสาขาใหม่ใน GitHub

วิธีเปลี่ยนชื่อ Remote Branch ใน Git

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

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

มาดูสถานะของสาขาของเรากัน เราจะใช้ตัวเลือก -a (ทั้งหมด) เพื่อดูทั้งสาขาในเครื่องและสาขาระยะไกล

 คอมไพล์สาขา -a 

การแสดงรายการสาขาในพื้นที่และระยะไกลด้วยคำสั่ง git branch -a

เราจำเป็นต้องลบ “feature19” ออกจากรีโมต repository และกด “feature18” ไปที่รีโมต

 git push origin -- ลบคุณลักษณะ 19 

การลบสาขาระยะไกลโดยใช้ตัวเลือก git the --delete

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

ตอนนี้เราจะส่งสาขาใหม่ไปที่รีโมตและใช้ตัวเลือก -u (ตั้งค่าอัปสตรีม)

 git push origin -u คุณลักษณะ 18 

การพุชสาขาไปยังที่เก็บระยะไกล

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

ตรวจสอบอีกครั้งว่าสาขาในพื้นที่และสาขาระยะไกลของเราอยู่ในสถานะใด

 คอมไพล์สาขา -a 

การแสดงรายการสาขาในพื้นที่และระยะไกลด้วยคำสั่ง git branch -a

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

ที่เกี่ยวข้อง: วิธีลบ Git Branches บน Local และ Remote Repositories

การเปลี่ยนชื่อสาขาเป็นเรื่องง่าย

ด้วย Git การเปลี่ยนชื่อสาขาเป็นเรื่องง่าย หากคุณเป็นคนเดียวที่ใช้พื้นที่เก็บข้อมูลหรือสาขาที่ต้องการเปลี่ยนชื่อ มันง่ายมาก

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

ที่เกี่ยวข้อง: วิธีใช้ git กับที่เก็บระยะไกลหลาย รายการ