fbpx

Tất Tần Tật Về Git Flow Trong 3 Phút – Tự Học Siêu Tốc

Git flow là gì

Git Flow là một trong những kỹ năng giúp bạn ghi điểm trong mắt nhà tuyển dụng.

Nếu nắm vững Git Flow, bạn sẽ dễ dàng đậu phỏng vấn và có được mức lương cao hơn so với mong đợi.

Điều này có nghĩa là bạn sẽ có thêm một phần thu nhập kha khá để trang trải cho cuộc sống gia đình của mình đấy!

Trong bài viết này, bạn sẽ biết được:

  • Tại sao Git Flow là quy trình làm việc phổ biến nhất hiện nay.
  • Các nhánh chính trong Git Flow.
  • Cách áp dụng Git Flow trong thực tế.

Cùng với mình tìm hiểu nhé!

Git là gì? Tại sao lập trình viên nào cũng cần PHẢI biết!

1. Ưu điểm của Git Flow

Tại sao bạn nên sử dụng Git Flow?

  • Git Flow chia mã nguồn thành các nhánh riêng biệt, giúp bạn dễ dàng theo dõi quá trình phát triển và sửa lỗi từng chức năng. Điều đó có nghĩa là bạn không còn tốn quá nhiều thời gian và công sức nếu có lỗi phát sinh.
  • Git Flow giúp bạn làm việc nhóm hiệu quả hơn. Mỗi người có thể làm việc trên nhánh riêng của mình, sau đó sáp nhập lại mà không sợ bị xung đột code.
  • Git Flow giúp bạn có thể thử nghiệm thoải mái các chức năng mới trên nhánh riêng, mà không lo ảnh hưởng đến phiên bản ổn định đang chạy của dự án. Điều có nghĩa là bạn sẽ an tâm hơn trong công việc của mình.

Tiếp theo, mình sẽ giới thiệu sơ qua các nhánh chính trong Git Flow để bạn hiểu rõ vai trò của mỗi nhánh.

Sau đó, mình sẽ nói chi tiết về quy trình làm việc của Git Flow.

Bắt đầu Học Git Miễn Phí

2. Các nhánh chính trong Git Flow

Nhánh main: là nhánh chứa phiên bản ổn định và đã được kiểm tra kỹ lưỡng. Mỗi commit trên nhánh main thường tương ứng với một phiên bản chính thức của dự án.

Nhánh develop: là nhánh chứa mã nguồn đang trong quá trình phát triển. Đây là nơi lập trình viên làm việc thường xuyên, và các chức năng mới sẽ được sáp nhập liên liên tục.

Nhánh feature: được tạo ra từ nhánh develop, dùng để phát triển chức năng mới.

Sau khi hoàn thành, nhánh feature sẽ được sáp nhập vào nhánh develop. Điều này giúp bạn tránh xung đột và dễ dàng quản lý các sự thay đổi trong dự án.

Nhánh release: được tạo ra từ nhánh develop mỗi khi chuẩn bị phát hành một phiên bản chính thức.

Nhánh release dùng để thực hiện các bước chuẩn bị cuối cùng trước khi phát hành chính thức. Ví dụ như kiểm tra tổng quan, sửa các lỗi phát sinh, cập nhật tài liệu,…

Sau khi chuẩn bị xong, nhánh release sẽ được sáp nhập vào nhánh main để phát hành chính thức 1 phiên bản mới.

Bên cạnh đó, nhánh release cũng sẽ được sáp nhập vào nhánh develop để đảm bảo mã nguồn tại môi trường phát triển và mã nguồn tại môi trường sản phẩm giống hệt nhau.

Nhánh hotfix: sẽ được tạo ra từ nhánh main để sửa lỗi nếu phát hiện lỗi nghiêm trọng trên phiên bản chính thức.

Sau khi sửa lỗi xong, nhánh hotfix sẽ được sáp nhập vào nhánh main và nhánh develop.

Để giúp bạn hiểu rõ hơn, chúng ta hãy cùng nhau đến với một ví dụ thực tế như sau:

Các Khoá Học Lập Trình 1 Kèm 1

3. Ví dụ thực tế

Giả sử, chúng ta chuẩn bị làm một dự án bán hàng online.

Nhánh main là nhánh mặc định sau khi bạn khởi tạo repository.

Tiếp theo, bạn tạo nhánh develop từ nhánh main. Đây là nơi các chức năng mới sẽ được sáp nhập liên liên tục.

Ví dụ, có 3 lập trình viên tham gia vào dự án này; bao gồm bạn, An và Bình:

Bạn tạo nhánh feature/gio-hang từ nhánh develop để làm chức năng giỏ hàng.

An tạo nhánh feature/thanh-toan để làm chức năng thanh toán.

Bình tạo nhánh feature/dang-nhap để làm chức năng đăng nhập.

Nhánh main, develop, và feature

Sau khi hoàn thành; bạn, An và Bình lần lượt sáp nhập các nhánh feature vào nhánh develop.

Sáp nhập feature vào develop

Bây giờ, bạn quyết định phát hành phiên bản 1.0 cho trang web.

Trước khi phát hành chính thức, bạn tạo nhánh release/1.0 từ nhánh develop.

Tạo nhánh release từ develop

Bạn kiểm tra các chức năng tại nhánh release thêm 1 lần nữa. Nếu có lỗi phát sinh, bạn tiến hành sửa lỗi trực tiếp trên nhánh release.

Sau đó, bạn hợp nhất nhánh release vào nhánh main và nhánh develop.

Bạn có thể sử dụng tag để đánh dấu phiên bản 1.0 trên nhánh main.

Sáp nhập nhánh release vào main và develop

Nếu có lỗi nghiêm trọng phát sinh trong quá trình vận hành mà cần phải xử lý gấp. Bạn tạo nhánh hotfix/sua-loi-giao-dien từ nhánh main để sửa lỗi.

Sau khi sửa xong, bạn sáp nhập nhánh hotfix vào nhánh main và nhánh develop.

Sáp nhập hotfix vào main và develop

Bằng cách áp dụng Git Flow vào dự án, bạn có thể tổ chức công việc một cách khoa học, giảm thiểu xung đột và đảm bảo chất lượng sản phẩm.

4. Bắt đầu học Git Miễn Phí

Nắm vững các câu lệnh Git sẽ giúp bạn:

  • Xoá bỏ nỗi lo sợ mất code: giúp bạn tiết kiệm hàng giờ nỗ lực GÕ CODE LẠI không cần thiết. Bạn hãy dành thời gian đó để làm các công việc khác ý nghĩa hơn.
  • Giải quyết xung đột code chỉ vài nốt nhạc: Hãy để Git giải thoát bạn khỏi chuỗi ngày đâu đầu vì những xung đột code phức tạp.
  • Nắm vững quy trình làm việc trong dự án thực tế: bạn sẽ trở nên vô cùng chuyên nghiệp và đáng tin cậy trong mắt các thành viên khác đấy nhé!
  • Gia tăng thu nhập: Git là kỹ năng ghi điểm trong mắt nhà tuyển dụng. Nếu bạn thành thạo nó chắc chắn bạn sẽ đạt được mức lương cao hơn mong đợi. Nghĩa là bạn sẽ có thêm một phần thu nhập kha khá để trang trải cho cuộc sống gia đình của mình đấy!

Vậy còn chờ gì nữa! Bắt đầu học Git hoàn toàn MIỄN PHÍ ngay: https://letdiv.com/git-video/

Tùng ViO

Tùng ViO

Mình là Tùng ViO, hiện tại đang là Founder và cũng là giảng viên tại LetDiv. Rất hân hạnh được làm quen với bạn!