λ°μν
Git Flow / GitHub Flow
λΈλμΉ μ λ΅ = νμ΄ ν©μν λΈλμΉ μ¬μ© κ·μΉ. νμΌλ‘ κ°λ°ν λ μΆ©λκ³Ό νΌλμ λ§κΈ° μν΄ νμνλ€.
Git Flow
κ·λͺ¨κ° ν¬κ³ λ°°ν¬ μ£ΌκΈ°κ° κΈ΄ νλ‘μ νΈμ μ ν©.
main βββββββββββββββββββββββββββββββ (μ€μ μ΄μ μλ²)
β merge β merge
release ββββββββββ ββββββββββ (λ°°ν¬ μ€λΉ, QA)
β merge
develop ββββββββββββββββββββββββββββββ (κ°λ° ν΅ν© λΈλμΉ)
β β
feature/login feature/payment (κΈ°λ₯ κ°λ°)| λΈλμΉ | μν |
|---|---|
main |
μ΄μ μλ²μ λμΌν μ½λ |
develop |
λ€μ λ°°ν¬λ₯Ό μν ν΅ν© λΈλμΉ |
feature/* |
κΈ°λ₯ κ°λ° (developμμ λΆκΈ°, developμΌλ‘ λ¨Έμ§) |
release/* |
λ°°ν¬ μ QA, λ²κ·Έν½μ€ |
hotfix/* |
μ΄μ κΈ΄κΈ μμ (mainμμ λΆκΈ°, main+develop λ λ€ λ¨Έμ§) |
νλ¦:
1. developμμ feature/login λΆκΈ°
2. κΈ°λ₯ κ°λ° μλ£ β developμΌλ‘ PR & λ¨Έμ§
3. λ°°ν¬ μμ μ develop β release/1.0 λΆκΈ°
4. QA μλ£ β release/1.0 β main λ¨Έμ§ + νκ·ΈGitHub Flow
κ·λͺ¨κ° μκ³ λ°°ν¬ μ£ΌκΈ°κ° μ§§μ νλ‘μ νΈμ μ ν©. λ λ¨μνλ€.
main ββββββββββββββββββββββββββββββ (νμ λ°°ν¬ κ°λ₯ν μν)
β PR & merge β PR & merge
feature/login feature/payment| λΈλμΉ | μν |
|---|---|
main |
νμ λ°°ν¬ κ°λ₯ν μν μ μ§ |
feature/* |
κΈ°λ₯ κ°λ°, λ²κ·Έν½μ€ λ± λͺ¨λ μμ |
νλ¦:
1. mainμμ feature/login λΆκΈ°
2. κ°λ° μλ£ β mainμΌλ‘ PR
3. μ½λ 리뷰 β μΉμΈ β λ¨Έμ§
4. λ¨Έμ§λλ μκ° μλ λ°°ν¬ (CI/CD)μ΄λ κ±Έ μΈκΉ
Git Flow: μ± λ°°ν¬, λΆκΈ°λ³ 릴리μ¦, QA κΈ°κ°μ΄ μλ ν
GitHub Flow: μΉ μλΉμ€, λ§€μΌ λ°°ν¬, λΉ λ₯Έ μ΄ν°λ μ΄μ
μ€λ¬΄μμλ GitHub Flowλ₯Ό λ¨μνν΄μ μ°λ κ³³μ΄ λ§μμ‘λ€.
λ°μν