Tools 15 Apr, 2026 5 phút đọc

Quy trình sử dụng Git

buiducduy111
Founder · Fullstack Engineer

Mỗi team đều có một quy trình dùng git khác nhau, tùy theo số lượng thành viên, quy trình review code, kiểm thử.

Ví dụ công ty của mình khá nhỏ và các anh em đều cứng tuổi nghề nên mỗi người tự verify code & test của chính mình. Đôi khi áp dụng quy trình của các team lớn hơn vào thì thấy bận hơn, rất bất tiện và mất thời gian.

(Số branch của vscode, hàng chục coder join chung một project, mình cũng chưa hình dung họ vận hành các opensource kiểu gì để hiệu quả như vậy)

Quy trình dùng Git chuẩn

Trường hợp team ít người, leader “tin tưởng” hoàn toàn về anh em

Ví dụ anh em rủ nhau làm startup với level tương đương nhau, bạn hoàn toàn nên áp dụng theo cách này. Ở đây mình dùng 2 branch duy nhất:

  • dev : Anh em phân chia đầu việc không conflict nhau. Code & pass hết test. Sau khi sẵn sàng cho production, test lại một lượt (automation & cơm)
  • main : Sử dụng như một production branch, merge từ dev qua khi đã hoàn thiện, tạo tag & release để backup mỗi phiên bản

Lưu ý: cần áp dụng CI/CD để việc tự động hóa tối đa quy trình test trước khi Push.

Trường hợp team đông người, có đầy đủ “ban bệ”

Một công ty lớn, product đang phục vụ hàng trăm nghìn user thì việc sửa một đoạn code cũng là rủi ro nên việc áp dụng quy trình chặt chẽ là điều bắt buộc.

Số lượng branch không hạn chế tuy nhiên phải tuân thủ các bước sau:

  • Mỗi task đều phải có branch riêng như “feature/xxxx“, “fix/yyyyy“, sau khi pass hết test, tiến hành tạo pull request tới branch “dev” để leader review code
  • Leader review code & cho phép merge vào “dev” branch (ông này nhìn có vẻ nhàn nhưng áp lực chịu trách nhiệm rất lớn, vớ vẩn là bị đuổi việc như chơi)
  • Tới đây, deloy lên một server test để các tester bắt đầu vào làm việc để “vạch lá tìm sâu”, nếu không có lỗi, “dev” branch sẽ được merage vào “production” branch để ship tới người dùng cuối.
  • Kết thúc quy trình, xóa các task branch

Các đầu việc cứ lặp đi lặp lại nhưng vậy trong quá trình duy trì sản phẩm.

Trường hợp Solo với AI (Vibe code)

AI agent dùng git như một công cụ bắt buộc để trace lịch sử code, revert khi cần thiết. Nó commit hàng trăm lần mỗi ngày nên việc của chúng ta là quản lý thế nào cho hiệu quả.

Ở đây mình sẽ áp dụng cho các dự án cá nhân hoặc các dự án test nhu cầu thị trường. AI agent sẽ code, review, test 100%.

Mình dùng 3 nhánh chính:

  • dev/ai : Nhánh chính cho AI coding tới khi hoàn thành tất cả features (tính năng)
  • dev : Sau khi đọc qua code, chạy lại unit, e2e tests thủ công (thay vì việc AI nói: đã pass hết test), chạy thử và đối chiếu quy trình nghiệp vụ dev/ai sẽ được merge sang đây. Mình sử dụng nhánh này như một beta-production (bản thử nghiệm) và phân phối tới người dùng cuối.
  • main : khi không có end-user báo lỗi mỗi phiên bản beta, tạo pull request từ dev sang main và sử dụng nhánh này như một stable production (sản phẩm ổn định), tạo tag & release mỗi phiên bản.

Kết luận

Chúng ta không nên máy móc phải áp dụng quy trình nào, bởi công ty nào cũng có vấn đề và cảm thấy mình chưa đủ chuyên nghiệp. Có những công ty rất lớn rồi vẫn phải đi học quy trình của công ty lớn hơn rồi về áp dụng không được, lại quay về cách cũ.

Vì vậy, chúng ta chỉ cần lựa chọn thứ chúng ta cho là phù hợp và hiệu quả.

Tác giả

buiducduy111

Founder trong lĩnh vực lập trình. Viết code từ 2009, khởi nghiệp từ 2018. Chia sẻ về kỹ năng lập trình, khởi nghiệp và tech updates — từ trải nghiệm thật.

Bài viết liên quan

Tiếp tục đọc các chủ đề mình nghĩ bạn sẽ thích.

Hướng dẫn sử dụng Cloudflare Tunnel đưa locahost ra Internet
Tools 2 phút đọc

Hướng dẫn sử dụng Cloudflare Tunnel đưa locahost ra Internet

Hướng dẫn sử dụng Cloudflare Tunnel để Remote Desktop
Tools 3 phút đọc

Hướng dẫn sử dụng Cloudflare Tunnel để Remote Desktop