Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Git Branch: คำสั่งและการใช้งาน

Branching เป็นฟีเจอร์ในทุกระบบควบคุมเวอร์ชันสมัยใหม่ Branches ให้นักพัฒนาห่างจาก main version ของโค้ด และทำการเปลี่ยนแปลงโดยไม่อัปเดต main version

ในระบบควบคุมเวอร์ชันอื่นๆ การ branching อาจยุ่งยาก ต้องสร้าง copy ใหม่ของโค้ดทั้งหมด ซึ่งลำบากสำหรับโปรเจกต์ใหญ่ Git มีคำสั่ง branching เรียบง่าย ให้นำทางระหว่าง branches ได้ง่าย

บทช่วยสอนนี้อธิบายพื้นฐาน branching ใน Git และการใช้คำสั่ง git branch พร้อมตัวอย่าง จนจบคุณจะเชี่ยวชาญ branching ใน Git

Git Branches คืออะไร?

Branches เป็นส่วนสำคัญของการทำงานกับ Git

ในโปรเจกต์มืออาชีพ มักใช้ branch สำหรับแต่ละ feature หรือ bug fix เพราะ branching ให้นักพัฒนาทำงานบน repository โดยไม่กระทบ main codebase สามารถทำงาน feature หรือแก้บั๊กกับผู้อื่นก่อน push ไป main copy

วิธีนี้ลดโอกาสที่โค้ดที่มีบั๊กจะถูก merge เข้า main codebase

ใน Git branch คือเส้นทางใหม่ภายใน repository มี version โค้ดของตัวเอง และ evolve แยกจาก main branch (มักเรียกว่า "master branch")

เพราะ branches อิสระจาก master branch จึงใช้ทำงาน feature ต่างๆ พร้อมกัน (parallel) ได้ เมื่อพร้อม จะ merge เข้า master branch

คำสั่ง Git Branch

User-created branches อิสระจาก master branch มี commit history ของตัวเอง การ push ไป branch ใด จะปรากฏแค่ branch นั้น

คิดว่า branches คือการสร้าง multiple versions ของ codebase เดียวกัน อาจมี branch สำหรับ feature ใหม่ อีก branch สำหรับแก้ issue ที่เปิดอยู่

คำสั่ง git branch ใช้จัดการ branches: สร้าง, เปลี่ยนชื่อ, ลบ และดูรายการ branches

นอกจากนี้ git branch มักใช้ร่วมกับ git checkout (สลับ branch) และ git merge (รวม branch) ซึ่งมีบทช่วยสอนแยกต่างหาก

ดูรายการ Branches (Retrieve a List of Branches)

ใช้ git branch เพื่อดูรายการ branches ใน repository

git branch

ตัวอย่างผลลัพธ์:

* master
* v0.9
* v0.8

เครื่องหมาย * หน้าชื่อ branch แสดงว่าเป็น branch ปัจจุบัน ใช้ git branch --list ก็ได้ผลเหมือนกัน

สร้าง Branch (Create a Branch)

สร้าง branch ชื่อ "v0.9.1":

git branch v0.9.1

คำสั่งนี้สร้าง branch ใหม่ แต่ development environment ยังคงอยู่ที่ HEAD ของ repo เดิม หากอยากเห็น branch ใหม่ ต้องใช้ git checkout

เมื่อสร้าง branch ใหม่ repository ไม่เปลี่ยนแปลงอย่างอื่น แค่มี branch ใหม่เพิ่มขึ้น Git สร้างแค่ pointer ไป branch ใหม่ หากอยาก commit โค้ดลง branch ใหม่ ต้องใช้ git checkout, git add, git commit

ลบ Branch (Delete a Branch)

ลบ branch ใช้ flag -d

ลบ branch v0.9.1:

git branch -d v0.9.1

Flag -d ทำ safe delete: หากมี unmerged changes (การเปลี่ยนแปลงที่ยังไม่ merge ไป branch อื่น) จะไม่ลบ ป้องกันการลบ branch ที่มีโค้ดที่อยาก merge โดยไม่ตั้งใจ

หากต้องการลบบังคับ (force delete) แม้จะมี unmerged changes ใช้ flag -D (พิมพ์ใหญ่):

git branch -D v0.9.1

คำสั่งนี้ลบ branch ถาวร -D ควรใช้เฉพาะเมื่อแน่ใจว่าต้องการลบ เพราะไม่มี warning

หลังรัน git branch -d/-D local copy ของ branch จะถูกลบ แต่อาจยังมีอยู่ใน remote repo หากเก็บ remote

หากต้องการลบ remote copy ใช้คำสั่ง:

git push origin :v0.9.1

คำสั่งนี้สั่ง remote repository ลบ branch v0.9.1

เปลี่ยนชื่อ Branch (Rename a Branch)

เปลี่ยนชื่อ branch ด้วย flag -m จะ rename branch ที่กำลังดูอยู่ (current branch)

สมมติอยาก rename branch v0.9.2 (ที่ดูอยู่) เป็น v1:

git branch -m v1

คำสั่งนี้ rename branch ปัจจุบันเป็น v1

สรุป

คำสั่ง git branch ใช้สร้าง, เปลี่ยนชื่อ, และลบ branches รวมถึงดูรายการ branches ที่เกี่ยวข้องกับ git repo

อย่างไรก็ตาม หากต้องการ commit โค้ดลง branch ต้องใช้คำสั่งอื่น เช่น git checkout, git add, git commit เพื่อบันทึกการเปลี่ยนแปลง

บทช่วยสอนนี้อธิบายพื้นฐาน branching และการใช้ git branch พร้อมตัวอย่าง ตอนนี้คุณพร้อม branching โค้ดใน Git อย่างมืออาชีพแล้ว!