</>
⌕
Mid #gitflow#trunk-based#branching#release

GitFlow và trunk-based development: chọn cái nào?

⚡ Trả lời nhanh

GitFlow dùng nhiều nhánh dài hạn (main, develop, release, hotfix), hợp với phát hành theo phiên bản có chu kỳ. Trunk-based có một nhánh chính, nhánh feature rất ngắn, tích hợp liên tục và dùng feature flag, hợp với CI/CD và deploy thường xuyên.

GitFlowTrunk-based
Nhánh dài hạnmain, developchỉ main (trunk)
Nhánh featuresống lâusống tính bằng giờ đến vài ngày
Releasenhánh release/*tag từ trunk, feature flag
Rủi romerge conflict lớn, tích hợp muộncần CI mạnh, test tốt
Phù hợpphần mềm đóng gói, nhiều phiên bản song songweb/SaaS, deploy liên tục
git switch -c feat/search main      # nhánh ngắn hạn
# ... commit nhỏ, mở PR sớm ...
git merge --ff-only                 # hoặc squash merge vào main
  • Trunk-based giấu tính năng chưa xong sau feature flag thay vì giữ trên nhánh riêng.
  • Nghiên cứu DORA liên hệ trunk-based với hiệu suất delivery cao.
🃏 Ôn bằng flashcard