Branch là gì

Tài liệu GIT      2019-11-27 09:21:46    Thêm vào bộ sưu tập

Branch là cái dùng để phân nhánh và ghi lại luồng của lịch sử. Branch đã phân nhánh sẽ không ảnh hưởng đến branch khác nên có thể tiến hành nhiều thay đổi đồng thời trong cùng 1 repository.

Tìm hiểu branch trong git

 

Bài toán thực tế:

    • Khi bạn có một website tin tức đang hoạt động bình thường, khách hàng có nhu cầu viết thêm chức năng:
      • Chức năng đăng ký dịch vụ (task1)
      • Chức năng shop bán hàng (task2)
    • Khi đó công việc với website sẽ có 3 nhiệm vụ chính:
      • Fixbug, update cho các chức năng cũ
      • Task1
      • Task2

Với 3 nhiệm vụ này nếu làm chung trên cùng 1 bộ code thì dễ phát sinh lỗi khó kiểm soát. Chức năng branch của git sẽ giải quyết vấn đề này, với 3 nhóm làm việc 3 chức năng khác nhau thì tách thành 3 branch sẽ làm việc hoàn toàn độc lập nhau. Sau khi hoàn thiện các task mới thì nhập vào branch chính (master)

  • Phân loại Branch
    • Branch tích hợp (Intergration branch): Branch tích hợp là branch có thể tạo ra bản phát hành bất cứ khi nào. Hơn nữa, nó cũng được sử dụng như là nguồn phân branch của branch chủ đề. Vì thế, việc duy trì trạng thái ổn định là điều cần thiết.
      • Trường hợp tiến hành thay đổi gì đó sẽ thường tạo ra branch chủ đề rồi thực hiện thay đổi. Và việc kiểm tra và build tự động sử dụng công cụ CI như Jenkins chẳng hạn thì sẽ sử dụng branch này để tiến hành.
      • Thông thường sẽ sử dụng branch master như là một branch tích hợp.
    • Branch chủ đề (Topic branch):
      • Branch chủ đề là branch tạo ra nhằm tiến hành công việc liên quan đến chủ đề như là chỉnh sửa lỗi hay là thêm chức năng. Khi tiến hành cùng lúc những công việc có liên quan đến nhiều chủ đề thì số lượng branch chủ đề tương ứng sẽ được tạo ra.
      • Branch chủ đề sẽ tạo ra bằng cách phân branch từ branch tích hợp đã ổn định, khi đã hoàn thành xong công việc sẽ sử dụng đưa vào branch tích hợp.

Tìm hiểu branch trong git


©SPX 2015-2019
Nội dung đã đăng ký bản quyền và quản lý bởi DMCA.com Protection Status