μ΄λ³΄μλ₯Ό μν Git λΈλμΉ μ λ΅ μ΄ν΄νκΈ°: νμ μ μν κΈ°λ³Έ κ°μ΄λ
μ΄λ³΄μλ₯Ό μν Git λΈλμΉ μ λ΅ μ΄ν΄νκΈ°: νμ μ μν κΈ°λ³Έ κ°μ΄λ μ€λλ μννΈμ¨μ΄ κ°λ°μμ νμ μ νμμ μ λλ€. μλ§μ κ°λ°μλ€μ΄ λ...
μ΄λ³΄μλ₯Ό μν Git λΈλμΉ μ λ΅ μ΄ν΄νκΈ°: νμ μ μν κΈ°λ³Έ κ°μ΄λ
μ€λλ μννΈμ¨μ΄ κ°λ°μμ νμ μ νμμ μ λλ€. μλ§μ κ°λ°μλ€μ΄ λμμ νλ‘μ νΈμ μ°Έμ¬νλ μν©μμ μ½λκ° λ€μ£½λ°μ£½ λμ§ μκ² κ΄λ¦¬νλ κ²μ λ§€μ° μ€μν©λλ€. μ¬κΈ°μ Gitμ λΈλμΉ μ λ΅μ΄ ν° λμμ΄ λ©λλ€. νΉν μ΄λ³΄μλ₯Ό μν κΈ°μ΄ μ§μμ μ΄ν΄νλ κ²μ νμμ λλ€. μ΄ κΈμμλ Git λΈλμΉμ λν κΈ°λ³Έμ μΈ μ΄ν΄μ νμ μ μ μ©ν λͺ κ°μ§ μ λ΅μ μκ°ν©λλ€.
Git λΈλμΉλ?
Gitμμ λΈλμΉλ μλ‘ λ€λ₯Έ μμ μ λ 립μ μΌλ‘ μ§νν μ μκ² ν΄ μ£Όλ λꡬμ λλ€. μκ°ν΄λ³΄λ©΄, λ무μ κ°μ§μ²λΌ μ¬λ¬ κ°μ λΈλμΉλ₯Ό λ§λ€ μ μκ³ , κ°κ°μ λΈλμΉμμ λ 립μ μΈ μμ μ΄ κ°λ₯ν©λλ€.
μ£Ό λΈλμΉμ κΈ°λ₯ λΈλμΉ
κΈ°λ³Έμ μΌλ‘ λ κ°μ§ μ νμ λΈλμΉκ° μμ΅λλ€:
- μ£Ό λΈλμΉ(Main Branch): main λλ master λΈλμΉλ‘ λΆλ¦¬λ©°, λ°°ν¬ κ°λ₯ν μ½λκ° μλ λΈλμΉμ λλ€.
- κΈ°λ₯ λΈλμΉ(Feature Branch): νΉμ κΈ°λ₯μ κ°λ°νκΈ° μν μμ λΈλμΉμ λλ€.
κΈ°λ³Έ λΈλμΉ μ λ΅
1. Git Flow
Git Flowλ μΌμ ν κΈ°μ€μ κ°μ§κ³ λΈλμΉλ₯Ό κ΄λ¦¬νλ λ°©λ²λ‘ μ λλ€. λ€μμ Git Flowμ κΈ°λ³Έμ μΈ λΈλμΉλ€μ λλ€:
- Main λΈλμΉ: νμ λ°°ν¬ κ°λ₯ν μνλ₯Ό μ μ§ν©λλ€.
- Develop λΈλμΉ: κ°λ°μ΄ μΌμ΄λλ μ£Ό λΈλμΉλ‘, λͺ¨λ κΈ°λ₯ λΈλμΉκ° μ¬κΈ°λ‘ λ³ν©λ©λλ€.
- Feature λΈλμΉ: κ°λ³μ μΈ κΈ°λ₯μ΄λ μμ μ μν λΈλμΉ.
- Release λΈλμΉ: λ°°ν¬ μ€λΉλ₯Ό μν λΈλμΉλ‘, λ²κ·Έ μμ λ±μ κ±°μ³ Main λΈλμΉλ‘ λ³ν©λ©λλ€.
- Hotfix λΈλμΉ: λ°°ν¬ ν λ°μν κΈ΄κΈν λ²κ·Έ μμ μ μν λΈλμΉ.
2. GitHub Flow
GitHub Flowλ λ³΄λ€ κ°λ¨ν μ λ΅μΌλ‘, λ€μκ³Ό κ°μ λΈλμΉλ‘ ꡬμ±λ©λλ€:
- Main λΈλμΉ: νμ λ°°ν¬ κ°λ₯ν μνλ‘ μ μ§ν©λλ€.
- κΈ°λ₯ λΈλμΉ: κ°λ³ κΈ°λ₯μ κ°λ°νλ λΈλμΉλ‘, μλ£ ν Main λΈλμΉμ λ³ν©λ©λλ€.
μ½λ μμ : κΈ°λ³Έ λͺ λ Ήμ΄
λΈλμΉλ₯Ό μμ±νκ³ κ΄λ¦¬νλ κΈ°λ³Έμ μΈ Git λͺ λ Ήμ΄λ λ€μκ³Ό κ°μ΅λλ€:
# μλ‘μ΄ κΈ°λ₯ λΈλμΉ μμ±
git checkout -b feature/new-feature
# λΈλμΉμμ μμ
νκ³ μ»€λ°
git add .
git commit -m "Add new feature"
# Main λΈλμΉμ λ³ν©
git checkout main
git merge feature/new-feature
# λ³ν© ν κΈ°λ₯ λΈλμΉ μμ
git branch -d feature/new-feature
λΈλμΉ μ λ΅μ μ₯μ
νμ ν¨μ¨μ±
λΈλμΉλ₯Ό νμ©νλ©΄ μ¬λ¬ κ°λ°μκ° λμμ μλ‘ λ€λ₯Έ μμ μ λ 립μ μΌλ‘ κ°λ°νκ³ μ μ§ν μ μμ΄ νμ μ΄ μ¬μμ§λλ€.
μ½λ μμ μ±
κ°κ°μ κΈ°λ₯μ΄ λ 립λ λΈλμΉμμ κ°λ°λκΈ° λλ¬Έμ, λ©μΈ μ½λμ λΆμμ ν μ½λκ° λ³ν©λμ§ μλλ‘ κ΄λ¦¬ν μ μμ΅λλ€.
λ°°ν¬ κ΄λ¦¬
μ£Ό λΈλμΉμ κΈ°λ₯ λΈλμΉμ λͺ νν ꡬλΆμ λ°°ν¬λ₯Ό κ΄λ¦¬νλ λ° ν° λμμ΄ λ©λλ€. μλ‘μ΄ κΈ°λ₯μ΄ μμ±λκ³ ν μ€νΈκ° μλ£λλ©΄ λ©μΈ λΈλμΉμ λ³ν©νμ¬ λ°°ν¬ν μ μμ΅λλ€.
κ²°λ‘
Git λΈλμΉ μ λ΅μ νμ κ°λ°μ μμ΄μ νμμ μΈ λꡬμ λλ€. Git Flowμ GitHub Flow κ°μ μ λ΅μ νλ‘μ νΈμ 볡μ‘λμ νμ νμμ λ°λΌ μ νν μ μμ΅λλ€. κΈ°λ³Έμ μΈ κ°λ μ μ΄ν΄νκ³ μ΄λ₯Ό λ°νμΌλ‘ ν¨μ¨μ μΈ κ°λ° νκ²½μ ꡬμΆν΄λ³΄μΈμ. λ€μν μ λ΅μ μ΄ν΄νκ³ μ μ ν νμ©νλ κ²μ μ±κ³΅μ μΈ κ°λ° νλ‘μ νΈμ ν΅μ¬μ λλ€.
β¬οΈ μ΄ κΈμ΄ λμμ΄ λμ ¨λ€λ©΄, μλ κ΄κ³ λ₯Ό ν λ²λ§ ν΄λ¦ν΄μ£ΌμΈμ! μ μκ² ν° νμ΄ λ©λλ€ πββοΈ β¬οΈ