Tổng quan về branch trong Git

Branch là gì?

Nói đơn giản dễ hiểu branch là phân nhánh, là nhiều version của 1 repository. Hay nói dễ hiểu hơn trong lĩnh vực lập trình là nhiều version khác nhau của 1 phần mềm (web, phone app, game …). Bạn có bao giờ thắc mắc khi sử dụng phần mềm của các hãng lớn khi họ có rất nhiều phiên bản như alpha, beta, … rồi mới đến bản final? Một phần mềm khi phát triển bao gồm rất nhiều công đoạn và nhiều thành viên tham gia vào lập trình. Có thể kể ra như: phát triển frontend, phát triển backend, sửa lỗi … , rồi trong mỗi công đoạn to lại có những công đoạn nhỏ hơn như phát triển tính năng A, phát triển tính năng B, …..

Tại sao branch lại rất quan trọng trong Git?

Thông thường trong Git, branch master là branch để release sản phẩm chạy hoàn hảo nhất, không lỗi, là sản phẩm gọi là chạy ổn định của phần mềm đó. Vậy nên chức năng branch giúp chúng ta chia nhánh ra để giúp đội ngũ phát triển có thể phát triển thêm những tính năng mới, fix bug những tính năng đang phát triển và có thể của tính năng cũ … mà không ảnh hưởng đến branch chính đang release sản phẩm.

Sơ đồ dưới đây sẽ giúp bạn hiểu rõ hơn tại sao lại phải tạo branch (phân nhánh) trong Git

Sau khi đã phát triển xong những tính năng mới, và fix bugs. Việc kế đến là làm sao để những thay đổi đó có hiệu lực trên phiên bản phần mềm đang release (nhánh master). Lúc này chúng ta sử dụng đến tính năng merge branch của Git, gọi là gộp nhánh (theo nghĩa tiếng Việt). Sau khi merge branch, tất cả những thay đổi của các branch sẽ được gộp chung vào branch master để chúng ta có thể release phiên bản mới của phần mềm.

Các branch được tạo ra có thể phát triển 1 cách song song, nghĩa là chúng ta có thể giao cho nhiều người làm việc trên nhiều branch. Cách chia branch này vô cùng hiệu quả để có thể quản lý được công việc, quản lý được task, mà không gây ảnh hưởng giữa các thành viên trong team.

Để dễ hiểu hơn quy trình chia branch và merge branch, bạn có thể tham khảo sơ đồ dưới đây